Считайте одинаковые списки в списке

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) 

Но это возвращает повторяющиеся результаты.

Используйте 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 

Вы можете получить уникальные элементы в списке, сделав элементы кортежей и преобразовывая их в набор:

 for i in set(map(tuple, list1)): i, list1.count(i) 

Еще лучше использовать коллекцию . Каунтер (см. Ответ Моисея Коледоя).