我有一本这样的字典:
A = {'a':10, 'b':843, 'c': 39,.....}
我想获取这个字典的 5 个最大值并用它存储一个新的字典。为了获得最大值,我做了:
max(A.iteritems(), key=operator.itemgetter(1))[0:]
也许这是一件容易的事,但我却坚持了很长时间。请帮忙!!!
无需使用 iteritems 和 itemgetter。字典自己的 get 方法工作正常。
max(A, key=A.get)
排序也类似:
sorted(A, key=A.get, reverse=True)[:5]
最后,如果字典大小不受限制,则使用堆最终将比完整排序更快。
import heapq
heapq.nlargest(5, A, key=A.get)
欲了解更多信息,请查看heapq文档 http://docs.python.org/library/heapq.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)