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

How to find the key corresponding to the maximum value in a dictionary of dictionary using max() function?

我知道如何在字典中找到与最大值相对应的键,这要归功于StackOverflow上的以下队列的答案。-

用Python的方式在字典中打印最大值的键,

python字典中对应最大值的键,

获取字典中最大值的键?等。

但我无法理解这对于一本字典来说是怎样的。

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

在这种情况下,如何使用max()函数?我想避免循环。我希望能找到一种类似于Matlab的矩阵方法——max(d(:,l))

d[x][l]取整数值,x取整数值。


使用lambda:

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

调用key函数时,每个键都位于d中;如果要查找d[key]['green']最高的键,则返回该键。

演示:

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

d[10]['green']为最高值,返回10