📅  最后修改于: 2023-12-03 15:19:08.296000             🧑  作者: Mango
在 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 循环中修改或过滤列表中的项时,要保留原始列表。