Nan*_*tel 4 python for-loop list python-3.x
我试过这段代码,我不明白它是如何工作的
a=[1,'a',2,'b','test','exam']
for a[-1] in a:
print(a[-1])
Run Code Online (Sandbox Code Playgroud)
产量
1
a
2
b
test
test
Run Code Online (Sandbox Code Playgroud)
在python中,您可以使用索引隐式访问列表的最后一个元素-1.因此a[-1]将返回列表的最后一个元素的值a.
通过执行for循环for a[-1] in a,您遍历列表,并将下一个元素的值存储a在其最后一个元素中.
因此,为了更好地了解正在发生的事情,您应该在每次迭代时打印整个列表,以便可以可视化操作:
a=[1, 'a', 2, 'b', 'test', 'exam']
for a[-1] in a:
print(a)
Run Code Online (Sandbox Code Playgroud)
你会得到:
[1, 'a', 2, 'b', 'test', 1]
[1, 'a', 2, 'b', 'test', 'a']
[1, 'a', 2, 'b', 'test', 2]
[1, 'a', 2, 'b', 'test', 'b']
[1, 'a', 2, 'b', 'test', 'test']
[1, 'a', 2, 'b', 'test', 'test']
Run Code Online (Sandbox Code Playgroud)
您可以看到,在每次迭代时,最后一个元素将保存即将发生的元素的值,实际上您将丢失最后一个元素的原始内容,即'exam'它在每次迭代中都会被覆盖.
希望现在有意义.
| 归档时间: |
|
| 查看次数: |
88 次 |
| 最近记录: |