程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何按值对Counter排序?-python大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何按值对Counter排序?-python?

开发过程中遇到如何按值对Counter排序?-python的问题如何解决?下面主要结合日常开发的经验,给出你关于如何按值对Counter排序?-python的解决方法建议,希望对你解决如何按值对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,请注明来意。
标签: