python - 过滤列表,只有唯一值 - 使用 python

标签 python filter

我想知道如何获取一个列表,例如 a = [1, 5, 2, 5, 1],并让它过滤掉唯一值,以便它只返回一个在列表中只出现一次的数字.所以它会给我 a=[2] 作为结果。

我能够弄清楚如何过滤掉重复项,现在我该如何去除重复项?

无需直接回答,欢迎提供小提示或提示 :)

我在 stackoverflow 上找到了这个。它做了我想要的,但我不明白代码,有人可以为我分解它吗?

d = {}
for i in l: d[i] = d.has_key(i)

[k for k in d.keys() if not d[k]]

最佳答案

>>> a = [1, 5, 2, 5, 1]
>>> from collections import Counter
>>> [k for k, c in Counter(a).iteritems() if c == 1]
[2]

关于python - 过滤列表,只有唯一值 - 使用 python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12878974/

相关文章:

Mac OSX 上的 Java ProcessBuilder 看不到 Python 3

python - 如何使用 collections.deque 将此代码从 Python 2.5 移植到 3.4?

elasticsearch - 基于整数值的 boost 分数 - Elasticsearch

javafx - 使用多个值过滤 JFX TableView

javascript - D3 制作新的、更小的 CSV 文件

python - 在枚举中显示可选成员

python - Django: AttributeError: 模块 'User.views' 没有属性 'User'

python - OpenCV:对于mp4文件,保存电影作品但编解码器错误

r - 为 data.table (r) 中的每个 ID 选择第一个唯一匹配项

database - 如何根据应用程序用户属性限制或过滤数据库访问