python列表中最常见的子列表

zak*_*889 1 python algorithm list

我有这个清单:

big_list = [['UPPER', 'UPPER', 'UPPER', 'LEI', 'DATE', 'ISIN', 'DEVISE', 'QUANTITY', 'QUANTITY', 'PRICE', 'MIC'], 
            ['UPPER', 'UPPER', 'UPPER', 'LEI', 'DATE', 'ISIN', 'DEVISE', 'QUANTITY', 'QUANTITY', 'PRICE', 'MIC'], 
            ['UPPER', 'UPPER', 'UPPER', 'LEI', 'DATE', 'ISIN', 'DEVISE', 'QUANTITY', 'QUANTITY', 'PRICE', 'MIC'], 
            ['DEVISE'], 
            ['DEVISE'], 
            ['BORING', 'QUANTITY', 'QUANTITY'], 
            ['BORING', 'BORING', 'BORING', 'BORING', 'BORING', 'UPPER', 'BORING', 'BORING', 'BORING', 'BORING', 'BORING', 'BORING'], 
            ['BORING', 'BORING', 'BORING', 'BORING', 'BORING', 'BORING', 'BORING', 'BORING', 'BORING', 'DEVISE', 'BORING', 'BORING', 'BORING', 'DEVISE', 'BORING', 'BORING', 'BORING', 'BORING', 'BORING', 'BORING'], 
            ['BORING', 'BORING', 'BORING', 'BORING', 'BORING', 'BORING', 'BORING']]
Run Code Online (Sandbox Code Playgroud)

而且我想在我的网站上找到最常见的清单big_list。在此示例中,该函数将给我: 如果可能['UPPER', 'UPPER', 'UPPER', 'LEI', 'DATE', 'ISIN', 'DEVISE', 'QUANTITY', 'QUANTITY', 'PRICE', 'MIC'],它将出现3次big_list

最简单,最有效的方法是什么?

I tried to do it with collections.Counter() without success.

Thanks

Ale*_*lex 6

You're almost there!

Counter(tuple(d) for d in big_list).most_common(1)[0] 
(('UPPER', 'UPPER', 'UPPER', 'LEI', 'DATE', 'ISIN', 'DEVISE', 'QUANTITY', 'QUANTITY', 'PRICE', 'MIC'), 3)
Run Code Online (Sandbox Code Playgroud)

您需要使列表成为可哈希的类型,在这种情况下为tuple