模拟argmax用于多维数组列表(PYTHON)

时间:2017-07-25 16:51:31

标签: python arrays list

是否有一种有效的方法来查找列表中最常出现的元素,因为该元素是长度为2的数组?

示例:

l = [(1,0),(1,0),(1,1),(0,0),(1,0)]

我希望这返回:(1,0),因为它最常出现。

看似简单,但我找不到办法做到这一点。

1 个答案:

答案 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)