我知道如何找到与字典中最大值对应的键,这要归功于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
也是如此。
答案 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
。