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