考虑我在python list1=[123,123,724,458,458]
中有一个列表,我希望输出为
list1=[724]
,列表中唯一的唯一值
list1=[100,200,300,300,100];
list1=set(list1);
给我
list1=[100,200,300]
但是我需要
list1=[200]
作为输出
答案 0 :(得分:1)
您可以使用collections.Counter对列表中每个项目的频率进行计数,然后仅使用频率1进行选择。
from collections import Counter
def get_unique(li):
#Create the counter to count frequencies
c = Counter(li)
#Create a list of items with count 1
result = [key for key,value in c.items() if value == 1]
return result
print(get_unique([100,200,300,300,100]))
print(get_unique([123,123,724,458,458]))
输出将为
[200]
[724]
答案 1 :(得分:0)
您可以通过列表理解来做到这一点。但是您必须保留两个对象,即初始列表和唯一元素列表。 count
方法给出列表中一个元素的出现次数。
这里是一种方法:
list1 = [100, 200, 300, 300, 100]
# Convert again to list
list1_unique = list(set(list1))
ans = [unique for unique in list1_unique if list1.count(unique) == 1]
print(ans)
# [200]