如何识别嵌套字典中的最高值键?

时间:2018-05-04 21:04:27

标签: python

作为一个python新手,我有一本字典d:

d={'a':{'1':4,'2':6},'b':{'1':5,'2':10}}

我需要为每个键('a','b')找到最高值的子键,并将它们捆绑在一个新词典中,newd,看起来像

newd={'a':'2', 'b':'2'}

实现这一目标的最佳方法是什么?

3 个答案:

答案 0 :(得分:9)

您可以将词典理解与max

一起使用
d={'a':{'1':4,'2':6},'b':{'1':5,'2':10}}
new_d = {a:max(b, key=b.get) for a, b in d.items()}

输出:

{'a': '2', 'b': '2'}

答案 1 :(得分:2)

d = {'a': {'1':4,'2':6},'b': {'1':5,'2':10}}

newd = {}
for key, value in d.items():
    max_value = max([i for i in value.values()])
    for k in value:
            if value[k] == max_value:
                    newd[key] = k

print(newd)
# prints '{'a': '2', 'b': '2'}'

答案 2 :(得分:1)

new_dict = {}
for k, v in d.items():
    new_dict[k] = max(v.values())