如何从python中的列表中删除所有重复元素?

Sha*_*az 5 python element list

我有一个这样的清单:-

[1,2,3,4,3,5,3,6,7,8]
Run Code Online (Sandbox Code Playgroud)

我想从列表中完全删除重复元素(此处:- 3),如下所示:-

[1,2,4,5,6,7,8]
Run Code Online (Sandbox Code Playgroud)

我如何在 python 中实现这一点,以便不仅删除第一次出现的重复元素,而且删除所有重复值

fue*_*zig 6

您可以使用Counterfromcollections来计算出现次数并使用列表推导选择那些只出现一次的元素:

from collections import Counter
a = [1,2,3,4,3,5,3,6,7,8]
[k for k, v in Counter(a).items() if v == 1]
Run Code Online (Sandbox Code Playgroud)

Counter基本上返回一个字典,其中元素存储为键,它们的计数存储为值。)


Doc*_*ock 0

使用一套。要消除所有重复值,请使用以下命令:

a = [1,2,3,4,3,5,3,6,7,8]
print(a)
a = list(set(a))
print(a)
Run Code Online (Sandbox Code Playgroud)

这将输出

[1,2,3,4,3,5,3,6,7,8]
[1,2,4,5,6,7,8]
Run Code Online (Sandbox Code Playgroud)

  • 不,这保留了 3。 (4认同)
  • *因为 Google* 而投反对票几乎是不合理的,甚至因为 Stackoverflow 上的重复而投反对票也不是真正好的行为 - 关闭重复才是正确的方法。另外,您的代码不正确并且没有输出您声称的内容 - 我得到“[1,2,3,4,5,6,7,8]”,这与“set”行为一致。-1 (2认同)