[英]Easy way to find what item repeated in list
所以我有这样的清单
l = [1,2,3,4,4]
如果我疯狂地做一套,我会得到
([1,2,3,4])
我需要一种方法来查找列表中重复的项目并弹出,并且我不想使用循环。 是否有简便的方法? 我正在使用python 2.7
您必须显式或隐式地迭代列表。 使用标准库的一种方法是使用collections.Counter
:
In [1]: from collections import Counter
In [2]: l = [1,2,3,4,4]
In [3]: Counter(l).most_common(1)[0][0]
Out[3]: 4
Counter
对象是一个字典,其中一些可迭代的元素作为键,而它们各自的计数作为值:
In [4]: Counter(l)
Out[4]: Counter({4: 2, 1: 1, 2: 1, 3: 1})
它的most_common()
方法返回计数最高的项目列表:
In [5]: Counter(l).most_common()
Out[5]: [(4, 2), (1, 1), (2, 1), (3, 1)]
可选参数限制返回列表的长度:
In [6]: Counter(l).most_common(1)
Out[6]: [(4, 2)]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.