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

lin*_*ndy 0 python unique

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

lst = [1, 2, 3, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

我想检索以下内容:

lst = [1, 4]
Run Code Online (Sandbox Code Playgroud)

(2并且3在该列表中不是唯一的,因此无法检索它们)

Ste*_*ski 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]
Run Code Online (Sandbox Code Playgroud)


iCo*_*dez 5

这是一个轻松的列表理解:

>>> lst = [1, 2, 3, 2, 3, 4]
>>> [x for x in lst if lst.count(x) == 1]
[1, 4]
>>>
Run Code Online (Sandbox Code Playgroud)

此外,我建议您不要命名变量list- 它会使内置项目蒙上阴影.