我在谷歌搜索时发现了这个问题,但无法理解这是怎么发生的?
a = [0, 1, 2, 3]
for a[-1] in a:
print(a[-1])
Result:
0
1
2
2
现在如果我再次打印:
a
[0, 1, 2, 2]
另一个类似的例子:
设 a 为原始列表,即 [0,1,2,3]
现在,让我们运行另一个 for 循环,但像这样:
for a[0] in a:
print(a[0])
这次的结果是:
0
1
2
3
但再次打印:
[3,1,2,3]
所以,我有两个问题:
1)在这两种情况下原始列表是如何更新的?
2)第一种情况(即负索引 for 循环)的结果解释是什么?
note: a[-1]
指列表的最后一个元素。
你分配给a[index]
在每次循环迭代中
for a[index] in a:
a[index]
将被分配值a[0]
, a[1]
, ..., a[-1]
在循环期间并最终被分配给
a[index] = a[-1]
通常你会尽量不要弄乱你正在迭代的列表:
for item in a:
# do something with item
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)