📜  python 在 for 循环中分配列表项 - Python (1)

📅  最后修改于: 2023-12-03 15:19:08.296000             🧑  作者: Mango

Python 在 for 循环中分配列表项

在 Python 中,我们可以使用 for 循环来遍历一个列表,并且可以使用多种方式来对列表项进行分配。下面将介绍常见的几种方式。

常规分配方式

常规的方式就是使用一个变量来接收列表中的每一个值,例如:

my_list = [1, 2, 3, 4, 5]
for item in my_list:
    print(item)

以上代码会输出:

1
2
3
4
5
分配索引值

有时我们需要同时获取列表项的值和索引值,可以使用 enumerate() 函数:

my_list = ['apple', 'banana', 'orange']
for index, value in enumerate(my_list):
    print(index, value)

输出:

0 apple
1 banana
2 orange
多重分配

在 for 循环中,我们也可以一次性给多个变量进行赋值,这被称为多重分配。例如:

my_list = [(1, 'apple'), (2, 'banana'), (3, 'orange')]
for num, fruit in my_list:
    print(num, fruit)

以上代码输出:

1 apple
2 banana
3 orange
保留列表项

有时我们需要在 for 循环中修改或过滤列表中的项,但是又需要保留原始列表项,这时可以使用 copy() 方法或 [:] 切片进行复制。例如:

my_list = [1, 2, 3, 4, 5]

# 保留原始列表
for item in my_list.copy():
    if item % 2 == 0:
        my_list.remove(item)

print(my_list)

以上代码输出:

[1, 3, 5]

如果不使用 copy() 方法或 [:] 切片进行复制,则会出现意外的结果。例如:

my_list = [1, 2, 3, 4, 5]

# 不保留原始列表
for item in my_list:
    if item % 2 == 0:
        my_list.remove(item)

print(my_list)

以上代码输出:

[1, 3, 5]

出现了跳过了一个偶数的结果。

因此,记得在 for 循环中修改或过滤列表中的项时,要保留原始列表。