如何根据项目计数对Python列表进行降序排序,但只返回一个列表,其中只包含已排序的项目,而不是计数?

时间:2014-05-21 17:14:55

标签: python list sorting

我在python中生成了一些大型列表,我需要弄清楚从这样的事情返回排序列表的绝对最快方法:

myList = ['a','b','c','a','c','a']

并根据项目的数量以降序返回它的列表,所以它看起来像这样。

sortedList = ['a','c','b']

我一直在使用Counter()。most_common(),但是这会以项目的降序返回一个元组,并且列表中会出现次数。我真的只需要一个基于计数的降序的元组或列表,只有项目,而不是计数金额。有什么想法吗?

编辑: 那么做这样的事情会更快吗?

myList = ['a','b','c','a','c','a']
count = Counter(myList).most_common()
res = [k for k,v in count]

1 个答案:

答案 0 :(得分:5)

from collections import Counter

myList = ['a','b','c','a','c','a']
res = [k for k,v in Counter(myList).most_common()]
# ['a', 'c', 'b']