如何在字典中获取多个最大键值?

假设我有一本字典:

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().

点赞