如何在2d字典中找到最大键?

时间:2014-12-18 12:43:52

标签: python-2.7

我的字典看起来像这样:

D={'a':{'val1':1,'val2':5,'val3':4},
   'b':{'val1':4,'val2':2,'val3':7},
   'c':{'val1':2,'val2':4,'val3':9},
   'd':{'val1':5,'val2':6,'val3':3}}

现在我想获得外键,即a,b,c或d,它具有最高值' val2'。怎么做?

1 个答案:

答案 0 :(得分:3)

In [13]: max(D, key=lambda x: D[x]['val2'])
Out[13]: 'd'

max可以将任何iterable作为其第一个参数。 dicts是迭代 - 它们遍历键。 因此max(D)将返回D中的密钥。

当您提供key功能时,例如

lambda x: D[x]['val2'] 

为iterable中的每个值调用一次函数(在这种情况下,x采用D中的键的值。函数返回的值用作密钥的代理,以便查找最大值。

因此max找到DD[x]['val2']最大的密钥。