0
如果元素是長度爲2的數組,那麼是否有一種有效的方法來查找列表中最經常出現的元素?用於多維數組列表的模擬argmax(PYTHON)
例子:
l = [(1,0),(1,0),(1,1),(0,0),(1,0)]
我想這回:(1,0)的出現的最頻繁。
看起來很簡單,但我找不到辦法做到這一點。
如果元素是長度爲2的數組,那麼是否有一種有效的方法來查找列表中最經常出現的元素?用於多維數組列表的模擬argmax(PYTHON)
例子:
l = [(1,0),(1,0),(1,1),(0,0),(1,0)]
我想這回:(1,0)的出現的最頻繁。
看起來很簡單,但我找不到辦法做到這一點。
你可以使用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
以拉姆達爲key
參數
>>> max(l, key = lambda i: l.count(i))
(1, 0)
這工作就像一個魅力,非常感謝CoryKramer! :)它說我必須等待9分鐘才能接受正確的答案,所以很快就會完成 – user8188120