2014-01-13 2 views
1

Привет Я Хейвея список, как это: llist=['a','b','c','b','e','a','f','e','f','e','e','e','a'] Я использую счетчик из коллекций и с помощью:Количество элементов в списке в порядке убывания

from collections import Counter 

c=Counter(llist) 

print c.items() 

Он печатает [('a', 3), ('c', 1), ('b', 2), ('e', 5), ('f', 2)]

Я хочу напечатать их в порядке убывания, как

5 e 
    3 a 
    2 b 
    2 f 
    1 c 
+5

Используйте 'c.most_common()'. –

+1

В общем случае вы могли бы использовать сортировку с ключом 'key = lambda x: -x [1]', если это был обычный список кортежей. –

ответ

3

Это работает:

>>> from collections import Counter 
>>> llist = ['a','b','c','b','e','a','f','e','f','e','e','e','a'] 
>>> c = Counter(llist) 
>>> for i,j in c.most_common(): 
...  print j,i 
... 
5 e 
3 a 
2 b 
2 f 
1 c 
>>> 

См. Также ссылку на collections.Counter.most_common.

Смежные вопросы