如何获得列表中唯一的值?

时间:2018-05-06 08:31:12

标签: python list

如果有一个列表,其元素为[2,2,3,2,2]。我想找到唯一的元素,这次是3

我想我可以用count()方法和一些循环来做到这一点,但我想知道是否有更简单有效的方法来做到这一点。

3 个答案:

答案 0 :(得分:6)

您可以使用collections.Counter

>>> import collections
>>> l = [2,2,3,2,2]
>>> next(k for k, v in collections.Counter(l).items() if v == 1)
3

答案 1 :(得分:0)

如果没有任何模块,您只需执行所有元素的xor即可获得唯一项目。

如果没有@KeyurPotdar记录的唯一项目,则输出0

l = [2,2,3,2,2]

out = l[0]
for elem in l[1:]:
    out = out ^ elem

print(out)
# 3

答案 2 :(得分:-1)

您可以使用Counter,然后使用min

In [4]: from collections import Counter

In [5]: x = [2,2,3,2,2]

In [6]: c = Counter(x)

In [7]: min(c, key=c.get)
Out[7]: 3

In [8]: