仅从列表中检索非重复元素

时间:2013-10-17 14:50:35

标签: python unique

从Python列表中仅检索非重复元素的最佳选项是什么?说我有以下列表:

lst = [1, 2, 3, 2, 3, 4]

我想检索以下内容:

lst = [1, 4]

23在该列表中不是唯一的,因此无法检索它们。

2 个答案:

答案 0 :(得分:6)

使用collections.Counter获取商品计数。与列表理解相结合,只保留那些计数为1的那些。

>>> from collections import Counter
>>> lst = [1, 2, 3, 2, 3, 4]
>>> [item for item, count in Counter(lst).items() if count == 1]
[1, 4]

答案 1 :(得分:5)

这是一件轻而易举的list comprehension

>>> lst = [1, 2, 3, 2, 3, 4]
>>> [x for x in lst if lst.count(x) == 1]
[1, 4]
>>>

此外,我建议您不要将变量命名为list - 它会使内置内容蒙上阴影。