假设我有一本字典:
data = {'a':1, 'b':2, 'c': 3, 'd': 3}
我想获得字典中的最大值.到目前为止,我一直在做:
max(zip(data.values(), data.keys()))[1]
但我知道我可能会错过另一个最大值.什么是最有效的方法来解决这个问题?
最佳答案 根据您的示例,您似乎正在寻找映射到最大值的键.你可以使用列表理解:
[k for k, v in data.items() if v == max(data.values())]
# ['c', 'd']
如果您有一个大字典,请将其分为两行,以避免计算所有项目的最大值:
mx = max(data.values())
[k for k, v in data.items() if v == mx]
在Python 2.x中,您将需要.iteritems().