当可迭代的元素作为目标值传递到Python的for循环中时会发生什么


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

输出:

1
2
2
4
5
[1, 2, 5, 4, 5]

有人能告诉我们这里发生了什么吗?名单是如何更改的?​

您隐含地告诉python这样做:

for x_element in x:
x[2] = x_element
print(x[2])
print(x)

因为在for循环中,您将迭代元素分配给x[2]
因此,当您获得索引2时,您只需将上一个值(x[1],即2(分配给x[2]。当您结束循环时,X[2]在上一次迭代中被分配了x[4],也就是5

但请不要使用此代码!

最新更新