【发布时间】:2020-08-20 09:39:49
【问题描述】:
我必须使用 Python 3 语言删除列表中的重复项。这段代码有什么问题?
numbers = [1, 2, 2, 2, 2, 2, 2, 2, 3, 4, 5]
for num in numbers:
if numbers.count(num) > 1:
numbers.remove(num)
print(numbers)
- 请告诉我如何解决这个问题??
【问题讨论】:
-
如果您不关心订单:
list(set(numbers)) -
“这段代码有什么问题?”:在迭代时不要修改可迭代对象。奇怪的事情会发生。
-
永远不要修改您正在迭代的结构。这与这篇文章中的问题相同:stackoverflow.com/questions/63193121/…
-
凭经验说:永远不要附加到您正在处理的结构上。这很容易造成无限循环!
-
这能回答你的问题吗? Removing from a list while iterating over it
标签: python python-3.x python-3.7