是否有一种有效的方法来查找列表中最常出现的元素,因为该元素是长度为2的数组?
示例:
l = [(1,0),(1,0),(1,1),(0,0),(1,0)]
我希望这返回:(1,0),因为它最常出现。
看似简单,但我找不到办法做到这一点。
答案 0 :(得分:2)
您可以使用collections.Counter
>>> import collections
>>> l = [(1,0),(1,0),(1,1),(0,0),(1,0)]
>>> c = collections.Counter(l)
>>> c.most_common(1)
[((1, 0), 3)]
否则,您可以将max
与lambda一起用作key
参数
>>> max(l, key = lambda i: l.count(i))
(1, 0)