如何删除列表中重复编号的所有实例?[重复]
问题内容:
这个问题已经在这里有了答案 :
从清单中删除重复的和原始的 (5个答案)
3个月前关闭。
我想要一个从列表中删除任何重复编号的所有实例的代码。
例如:
Inputlist = [2, 3, 6, 6, 8, 9, 12, 12, 14]
Outputlist = [2,3,8,9,14]
我已经尝试删除列表中的重复元素(通过使用“唯一”函数),但是它仍然在列表中保留了元素的单个实例!
seen = set()
uniq = []
for x in Outputlist:
if x not in seen:
uniq.append(x)
seen.add(x)
seen
我也阅读了很多StackOverflow文章,但是所有这些文章的想法都不同,即它们正在搜索从两个不同的列表中删除公共元素,或者他们只希望保留每个元素的一个实例。我只想删除所有常见元素。
问题答案:
您可以使用计数器
>>> from collections import Counter
>>> l = [2, 3, 6, 6, 8, 9, 12, 12, 14]
>>> res = [el for el, cnt in Counter(l).items() if cnt==1]
>>> res
[2, 3, 8, 9, 14]