我有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