This question already has answers here:
strange result when removing item from a list [duplicate]
(4个答案)
How to remove items from a list while iterating?
(30个答案)
2年前关闭。
在此Python代码段中:
输出为:
Python中的这种行为使我花了几个小时来调试。
“在...中...”实际上是如何工作的?
(4个答案)
How to remove items from a list while iterating?
(30个答案)
2年前关闭。
在此Python代码段中:
l = [10,20,30,40,50]
for i in l:
l.remove(i)
print(i)
print(l)
输出为:
10
30
50
[20, 40]
Python中的这种行为使我花了几个小时来调试。
“在...中...”实际上是如何工作的?
最佳答案
您代码中的“ i”采用l列表中每个元素的值。因此,键入for i in l
我将首先成为第一个索引(在本例中为10),然后执行下面的代码,这会将i从列表中删除,因此现在您的列表为[20,30,40,50]
,它会打印i.。该值为10。到下一个索引l [1],它现在是30,并执行代码。
关于python - 在循环体中使用remove时,python“for…in…”如何工作? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42776763/