python - python字典中的5个最大值

标签 python dictionary max

我有一本这样的字典:

A = {'a':10, 'b':843, 'c': 39,.....}

我想获取这个字典的 5 个最大值并用它存储一个新的字典。为了获得我所做的最大值:

max(A.iteritems(), key=operator.itemgetter(1))[0:]

也许这是一件容易的事,但我坚持了很长时间。请帮忙!!!

最佳答案

无需使用 iteritems 和 itemgetter。 dict 自己的 get 方法工作正常。

max(A, key=A.get)

排序类似:

sorted(A, key=A.get, reverse=True)[:5]

最后,如果dict大小是无限的,使用堆最终会比完全排序快。

import heapq
heapq.nlargest(5, A, key=A.get)

有关更多信息,请查看 heapq documentation .

关于python - python字典中的5个最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7197315/

相关文章:

java - 实现一个带有子序列匹配的 sortedMap

Python:优雅地将字典与值的 sum() 合并

c++ - C++中的最大可能整数

mysql - 如何在 MySQL 中选择具有最大值的列的行?

python - Groupby 和 sum 行以聚合 PRODUCT 列的多个值

python - Hadoop Docker容器只能复制到0个节点,而不能复制到minReplication(= 1)

Python、Unicode 和 Windows 控制台

python - 如何仅执行另一个文件中的特定函数

c# - 特定的 plinq 查询

c++ - 查找 vector 的 vector 的最大值/最小值