0
可能重复:
Python: Adding element to list while iterating我可以将项目追加到我在Python中循环的列表中吗?
这似乎并不工作,但我不知道为什么:
for n in poss:
poss.append(n+6)
有一些规定说,我可以将项目追加到我目前正在循环的列表中?
可能重复:
Python: Adding element to list while iterating我可以将项目追加到我在Python中循环的列表中吗?
这似乎并不工作,但我不知道为什么:
for n in poss:
poss.append(n+6)
有一些规定说,我可以将项目追加到我目前正在循环的列表中?
在迭代时追加到列表将进入无限循环,因为您在每次迭代中向循环添加更多元素。
您应该迭代列表的副本。例如,请尝试以下操作:
for n in tuple(poss):
poss.append(n+6)
你的代码实际工作,但从来没有结束,因为POSS不断将越来越大。
尝试:
poss = [1,2]
for n in poss:
poss.append(n+6)
if n > 10:
print poss
break
生产:
[1, 2, 7, 8, 13, 14, 19]
需要使用一个副本。使用切片:'poss [::]'一个元组:'元组(poss)'或者一个重复列表:'list(poss)',它与切片形式相同... – 2011-05-09 00:24:35