大佬教程收集整理的这篇文章主要介绍了如何按值对Counter排序?-python,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
使用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排序方法。
除了执行反向列表理解的列表理解之外,还有一种Python方式可以按值对Counter进行排序吗?如果是这样,它比这更快:
>>> from collections import Counter
>>> x = Counter({'a':5,'b':3,'c':7})
>>> sorted(x)
['a','b','c']
>>> sorted(x.items())
[('a',5),('b',3),('c',7)]
>>> [(l,k) for k,l in sorted([(j,i) for i,j in x.items()])]
[('b',('a',j in x.items()],reverse=True)]
[('c',7),3)
以上是大佬教程为你收集整理的如何按值对Counter排序?-python全部内容,希望文章能够帮你解决如何按值对Counter排序?-python所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。