2 回答

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超5個(gè)贊
這導(dǎo)致您跳過(guò)列表中的某些元素: results.remove(i)
演示:
res = [k for k in range(0,10)]
for i in res:
print(i)
res.remove(i)
>>>output
0
2
4
6
8

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超8個(gè)贊
不要results.remove(i)
在循環(huán)本身中使用。您通常不想在您仍在迭代的列表中添加或刪除正在迭代的列表中的內(nèi)容。通常我會(huì)建議將所有要?jiǎng)h除的項(xiàng)目添加到另一個(gè)列表中,然后迭代該列表以將它們從原始列表中刪除。這看起來(lái)你已經(jīng)在其加入retired_devices
,所以我會(huì)遍歷retired_devices
的循環(huán)結(jié)束后,并results.remove(i)
在每一個(gè)我retired_devices
。您也不需要while
循環(huán),for
循環(huán)將在完成所有元素后結(jié)束。
添加回答
舉報(bào)