python - 从列表和元素本身中删除重复元素

标签 python list unique

我知道这个问题已经被问过很多次了,但我不是在问如何只从列表中删除重复的元素,我还想删除重复的元素。

例如,如果我有一个列表:

x = [1, 2, 5, 3, 4, 1, 5]

我希望列表是:

x = [2, 3, 4] # removed 1 and 5 since they were repeated

我不能使用 set,因为它将包括 15

我应该使用计数器吗?有没有更好的办法?

最佳答案

这应该用 Counter 来完成目的。这是微不足道的。

from collections import Counter
x = [k for k, v in Counter([1, 2, 5, 3, 4, 1, 5]).iteritems() if v == 1]
print x

输出:

[2, 3, 4]

关于python - 从列表和元素本身中删除重复元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5245872/

相关文章:

python - 下载文件之前如何从链接获取文件名?

python - 什么时候是使用 readline() 的好时机?

python - 如何对具有多个关键属性的字典列表进行排序 - python

python - Python List Reverse 的时间复杂度是多少?

list - 动态范围表中的唯一列表,可能有空白

Python 3 编码或没有字符串参数的错误

python - 在requirements.txt文件中使用 "-t"选项

java - 删除 HashMap 中包含的列表项

java - 如何检查 firebase 数据库中是否存在一个值 - android

algorithm - 如何保证基于哈希的ID的唯一性?