list1 =[ ['9034968', 'ETH'], ['14160113', 'ETH'], ['9034968', 'ETH'], ['11111', 'NOT'], ['9555269', 'NOT'], ['15724032', 'ETH'], ['15481740', 'ETH'], ['15481757', 'ETH'], ['15481724', 'ETH'], ['10307528', 'ETH'], ['15481757', 'ETH'], ['15481724', 'ETH'], ['15481740', 'ETH'], ['15379365', 'ETH'], ['11111', 'NOT'], ['9555269', 'NOT'], ['15379365', 'ETH']
如何计算列表中的相同列表。例如这里:
['9034968', 'ETH']
出现2次,['15481740', 'ETH']
也是如此。我目前能够使用:
>>> for i in list1:
i, list1.count(i)
但这会返回重复的结果。
答案 0 :(得分:3)
使用Counter
,
from collections import Counter
counter = Counter(tuple(i) for i in list1)
转换为tuple
会使Counter
您可以执行以下操作:
counter.most_common(3) # get the 3 most common items
答案 1 :(得分:2)
您可以通过制作元素元组并将其转换为集合来获取列表中的唯一项目:
for i in set(map(tuple, list1)):
i, list1.count(i)
更好的是,使用collections.Counter(参见Moses Koledoye的回答)。