我有一本字典词典
z = {'a' : {'p' : 5, 'q' : 7}, 'b' : {'p' : 9, 'm' : 8}, 'c' : {'p' : 7},'d' : {'n' : 9, 'm' : 9}}
我必须从dict的dict中获取最大值并将其分配给键。
输出应为:
z = {'a' : {'q' : 7}, 'b' : {'p' : 9}, 'd' : {'n' : 9, 'm' : 9}}
我是Python新手。提前谢谢。
答案 0 :(得分:0)
以下与口译员的会话应该向您展示一种方法来实现您的目标:
Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> z = {'a': {'p': 5, 'q': 7}, 'b': {'p': 9, 'm': 8}, 'c': {'p': 7}, 'd': {'n': 9, 'm': 9}}
>>> z = {key_a: {key_b: value_b for key_b, value_b in value_a.items() if value_b == max(value_a.values())} for key_a, value_a in z.items()}
>>> z
{'a': {'q': 7}, 'b': {'p': 9}, 'c': {'p': 7}, 'd': {'n': 9, 'm': 9}}
>>>