Python 对列表中的相同列表进行计数
如何计算列表中的相同列表。例如:Python 对列表中的相同列表进行计数,python,list,Python,List,如何计算列表中的相同列表。例如: ['9034968','ETH']出现两次,['15481740','ETH']也出现两次。我目前可以通过以下方式完成: list1 =[ ['9034968', 'ETH'], ['14160113', 'ETH'], ['9034968', 'ETH'], ['11111', 'NOT'], ['9555269', 'NOT'], ['15724032', 'ETH'], ['15481740', 'ETH'], ['15481757', 'ETH'], [
['9034968','ETH']
出现两次,['15481740','ETH']
也出现两次。我目前可以通过以下方式完成:
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']
但这会返回重复的结果。您可以通过创建元素元组并将其转换为一个集合来获得列表中的唯一项:
>>> for i in list1:
i, list1.count(i)
更好的方法是使用(见摩西·科雷多耶的答案)。使用
计数器
for i in set(map(tuple, list1)):
i, list1.count(i)
转换为元组
使您的项目可用于计数器
您可以执行以下操作:
from collections import Counter
counter = Counter(tuple(i) for i in list1)
counter.most_common(3) # get the 3 most common items