执行for循环

时间:2018-04-26 15:58:50

标签: python python-3.x

我有一个清单" a"。执行以下for循环后,列表值被更改

a=[1,2,3]
for a[0] in a:
    print(a[0])


print(a) #it prints [3, 2, 3]

3 个答案:

答案 0 :(得分:1)

When you write

for i in [1,2,3]:
    print i

i = 1 and then 2 and then 3 for each iteration. So if you execute this code

a=[1,2,3]
for a[0] in a:
    print a[0]
    print a

Output:

1
[1, 2, 3]
2
[2, 2, 3]
3
[3, 2, 3]

You can clearly see that a[0] is first 1, then 2 and finally 3, so 'a' becomes [1,2,3] in the end.

答案 1 :(得分:0)

我想您要显示列表中的所有值。 如果那是你想做的,我建议你像这样使用enumerate

a=[1,2,4]
for index, value in enumerate(a):
        print(value)
print(a)

因此,列表中的值不会更改。

答案 2 :(得分:0)

以下是您的代码在单个命令中分离的内容。也许通过这种方式你可以更好地了解正在发生的事情:

{{1}}

简而言之:不要使用列表元素作为循环变量来迭代该列表。除了非常特殊的情况外,没有任何意义。

相关问题