我有Python中的代碼,我試圖從列表中刪除編號爲1的所有實例。我也知道:爲什麼不刪除()實際上刪除Python列表中的重複項的最後一個實例
- 在遍歷它時不可能改變列表。
- remove()刪除列表中具有多個實例的項目的第一次出現。
my_list = [2, 3, 1, 5, 8, 4, 6, 1, 1]
print(my_list)
for num in my_list:
if num == 1:
my_list.remove(num)
print(my_list)
輸出:
[2, 3, 1, 5, 8, 4, 6, 1, 1]
[2, 3, 5, 8, 4, 6, 1]
考慮到我提到的兩個點,它是如何名單變化?更重要的是,爲什麼最後一個不會從列表中刪除?
「在遍歷它時不可能改變列表。」這是可能的,但通常這不是明智的做法。 – Evert
也許你認爲你錯誤地提到了你提到的幾點,並從那裏拿走它? – juanchopanza
使用列表理解從舊列表中創建一個新列表可能會更清楚,並會刪除所有出現的「1」。 – Evert