关于python:如何识别嵌套字典中的最高值键?

how to identify highest value key in nested dictionary?

本问题已经有最佳答案,请猛点这里访问。

作为一个Python新手,我有一本字典D:

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

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

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

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


你可以在max中使用字典理解:

1
2
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()}

输出:

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

1
2
3
4
5
6
7
8
9
10
11
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'}'


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