Rah*_*hul 2 python list python-2.7
当我在一个程序上工作时,我在代码中看到了一个奇怪的行为.这就是我所看到的.
>>> l = [1,2,3,4,5,6,7,8]
>>> g = []
>>> for i in l:
... g.append(l.pop())
...
>>> l
[1, 2, 3, 4]
>>> g
[8, 7, 6, 5]
>>>
Run Code Online (Sandbox Code Playgroud)
该列表g应该具有列表中的所有元素l!但为什么只考虑一半的名单呢?
免责声明:我不是要复制列表或反转列表.这是我在处理其他事情时发现的.
Alt*_*yyr 11
你应该通常不要这样做!
更改你正在循环的Iterable并不好!
说明:
正如您所看到的那样,l.pop()总是需要l
g.append()现在的最后一项将弹出的项目添加到结束g
后4次运行之后l没有任何项目.
第一次运行:
i = v
l = [1,2,3,4,5,6,7]
g = [8]
Run Code Online (Sandbox Code Playgroud)
第二轮:
i = v
l = [1,2,3,4,5,6]
g = [8,7]
Run Code Online (Sandbox Code Playgroud)
第三次运行:
i = v
l = [1,2,3,4,5]
g = [8,7,6]
Run Code Online (Sandbox Code Playgroud)
第四次运行:
i = v
l = [1,2,3,4]
g = [8,7,6,5]
Run Code Online (Sandbox Code Playgroud)
现在我们结束了l,我们停止了循环
| 归档时间: |
|
| 查看次数: |
121 次 |
| 最近记录: |