0

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

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

我想检索以下内容:

lst = [1, 4]

2并且3在该列表中不是唯一的,因此不会被检索到)

4

2 回答 2

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]
于 2013-10-17T14:54:33.077 回答
5

列表理解轻而易举:

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

另外,我建议您不要命名变量——它会list掩盖内置变量。

于 2013-10-17T14:51:51.930 回答