0
从Python列表中只检索非重复元素的最佳选择是什么?说我有以下列表:只从列表中检索非重复元素
lst = [1, 2, 3, 2, 3, 4]
我想检索以下:
lst = [1, 4]
(2
和3
不在该列表中独一无二的,所以他们没有得到检索)
从Python列表中只检索非重复元素的最佳选择是什么?说我有以下列表:只从列表中检索非重复元素
lst = [1, 2, 3, 2, 3, 4]
我想检索以下:
lst = [1, 4]
(2
和3
不在该列表中独一无二的,所以他们没有得到检索)
这是一个list comprehension微风:
>>> lst = [1, 2, 3, 2, 3, 4]
>>> [x for x in lst if lst.count(x) == 1]
[1, 4]
>>>
另外,我建议您不要命名变量list
- 它会掩盖内置。
使用collections.Counter
可获得物品计数。与列表理解相结合,只保留一个数。
>>> from collections import Counter
>>> lst = [1, 2, 3, 2, 3, 4]
>>> [item for item, count in Counter(lst).items() if count == 1]
[1, 4]
更改了变量名称。感谢您的回答。 – linkyndy
这是有效的,但应该警告,由于嵌套循环('count'被实现为循环),列表性能会随着列表的增长而变大,因此性能会迅速下降。 –