使用Counter.most_common()
方法,它将为您 排序项目:
>>> from collections import Counter
>>> x = Counter({'a':5, 'b':3, 'c':7})
>>> x.most_common()
[('c', 7), ('a', 5), ('b', 3)]
它将以最有效的方式进行;如果您要求前N个而不是所有值,heapq
则使用a代替直接排序:
>>> x.most_common(1)
[('c', 7)]
在计数器之外,可以始终根据key
功能调整排序;.sort()
并sorted()
都接受赎回,让您指定要排序的输入序列的值; sorted(x, key=x.get, reverse=True)
将为您提供与相同的排序x.most_common()
,但仅返回键,例如:
>>> sorted(x, key=x.get, reverse=True)
['c', 'a', 'b']
或者您可以仅对给定的值(key, value)
对进行排序:
>>> sorted(x.items(), key=lambda pair: pair[1], reverse=True)
[('c', 7), ('a', 5), ('b', 3)]
有关更多信息,请参见Python排序方法。