字典中的最大键值

时间:2016-03-14 08:29:49

标签: python list dictionary

我有一个带值

的python字典
d = {'A': 0, 'B': 1, 'C': 0, 'D': 4}

result = max(d.iteritems(), key=lambda x: x[1])

result = ('D', 4)

现在,如果没有最大值并且所有值都相等,那么结果应该按键的字母顺序(升序)。

 d = {'A': 0, 'B': 1, 'C': 0, 'D': 1}
 result should be  D

 d = {'A': 0, 'B': 5, 'C': 5, 'D': 1}
 result should be C

如何在Python中完成此操作?

1 个答案:

答案 0 :(得分:4)

调整lambda以检查值后的键(通过返回值键对)

>>> d = {'A': 0, 'B': 1, 'C': 0, 'D': 1}
>>> max(d.iteritems(), key=lambda x: (x[1], x[0]))
('D', 1)
>>> d = {'A': 0, 'B': 5, 'C': 5, 'D': 1}
>>> max(d.iteritems(), key=lambda x: (x[1], x[0]))
('C', 5)