如何使用max()函数找到与字典字典中的最大值对应的键?

时间:2014-02-20 09:32:31

标签: python dictionary key max

我知道如何找到与字典中最大值对应的键,这要归功于Stackoverflow上对以下问题的回答 -

Print the key of the max value in a dictionary the pythonic way

key corresponding to maximum value in python dictionary

Getting key with maximum value in dictionary?

但是我无法理解这些词汇的字典是如何产生的。

例 -
我有一本字典d[x][l]字典。假设,我需要找到以下内容 - 对于特定的l='green',我需要找到x最大d[x]['green']的相应值。

在这种情况下如何使用max()功能?我想避免循环。我希望在矩阵中找到与MATLAB相同的方法 - max(d(:,l))

d[x][l]采用整数值,x也是如此。

1 个答案:

答案 0 :(得分:3)

使用lambda:

max(d, key=lambda x: d[x]['green'])

使用key中的每个键调用d函数;如果你想找到d[key]['green']最高的密钥,你就可以返回。

演示:

>>> d = {10: {'green': 42}, 81: {'green': 5, 'blue': 100}}
>>> max(d, key=lambda x: d[x]['green'])
10

d[10]['green']是最高值,因此会返回10