您可以通过 max(d, key=d.get) 获取字典中具有最大值的键。 当两个或多个键具有最大值时如何设置首选键的问题。
我找到了一种方法,通过在 key 上附加一个数字来实现此目的。
有更好的方法吗?
In [56]: d = {'1a' : 5, '2b' : 1, '3c' : 5 }
In [57]: max(d, key=d.get)
Out[57]: '1a'
In [58]: d = {'4a' : 5, '2b' : 1, '3c' : 5 }
In [59]: max(d, key=d.get)
Out[59]: '3c'
最佳答案
key
参数中给出的函数可以返回一个元组。如果第一个元素有多个最大值,则将使用元组的第二个元素。这样,您就可以使用您想要的方法,例如使用两个字典:
d = {'a' : 5, 'b' : 1, 'c' : 5 }
d_preference = {'a': 1, 'b': 2, 'c': 3}
max(d, key=lambda key: (d[key], d_preference[key]))
# >> 'c'
d_preference = {'a': 3, 'b': 2, 'c': 1}
max(d, key=lambda key: (d[key], d_preference[key]))
# >> 'a'
关于python - 更喜欢字典中最大值的键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53661380/