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'被實現爲循環),列表性能會隨着列表的增長而變大,因此性能會迅速下降。 –