作为一个python新手,我有一本字典d:
d={'a':{'1':4,'2':6},'b':{'1':5,'2':10}}
我需要为每个键('a','b')找到最高值的子键,并将它们捆绑在一个新词典中,newd,看起来像
newd={'a':'2', 'b':'2'}
实现这一目标的最佳方法是什么?
答案 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())