我有一個看起來像這樣的列表:刪除與複製的所有項目從列表
[1, 2, 3, 4, 3, 2]
我想刪除有重複的所有項目,所以我得到這樣的:
[1, 4]
因爲2和3有重複。我知道套,但他們沒有達到我想要的。有沒有一個簡短而有效的方法來做到這一點?
我有一個看起來像這樣的列表:刪除與複製的所有項目從列表
[1, 2, 3, 4, 3, 2]
我想刪除有重複的所有項目,所以我得到這樣的:
[1, 4]
因爲2和3有重複。我知道套,但他們沒有達到我想要的。有沒有一個簡短而有效的方法來做到這一點?
簡稱:
filtered_list = [x for x in your_list if your_list.count(x) == 1]
有效(大型列表):
counters = dict.fromkeys(your_list, 0)
for item in your_list:
counters[item] += 1
filtered_list = [x for x in your_list if counters[x] == 1]
使用counter
from collections import Counter
myList = [1, 2, 3, 4, 3, 2]
def getUnique(myList):
cnt = Counter()
for item in myList:
cnt[item] += 1
return [i for i in cnt if cnt[i] < 2]
print getUnique(myList)
就可以實現這樣的:
import collections
a = [1, 2, 3, 4, 3, 2]
remove = [item for item, count in collections.Counter(a).items() if count > 1]
print([x for x in a if x not in remove])
輸出:[1,4]