你好,我有一本看起来像这样的字典:
dictionary = {'John': {'car':12, 'house':10, 'boat':3},
'Mike': {'car':5, 'house':4, 'boat':6}}
我想获得访问权限并提取子词典中的键并将它们分配给这样的变量:
cars_total = dictionary['car']
house_total = dictionary['house']
boat_total = dictionary['boat']
现在,当我运行上面的变量时,出现“键错误”。这是可以理解的,因为我需要先访问外部字典。如果有人在如何访问子字典中的键和值方面提供帮助,我将不胜感激,因为这些是我想要使用的值。
我也想创建一个新 key ,这可能不正确,但在这些方面:
car = dictionary['car']
house = dictionary['house']
boat = dictionary['boat']
dictionary['total_assets'] = car + house + boat
我希望能够访问字典中的所有这些键并创建一个新键。诸如“John”和“Mike”之类的外部 key 都应在末尾包含新制作的 key 。 我知道这会引发错误,但它会让您了解我想要实现的目标。感谢您的帮助
请您参考如下方法:
我只会使用 Counter 对象来获取总数:
>>> from collections import Counter
>>> totals = Counter()
>>> for v in dictionary.values():
... totals.update(v)
...
>>> totals
Counter({'car': 17, 'house': 14, 'boat': 9})
>>> totals['car']
17
>>> totals['house']
14
>>>
这有一个额外的好处,即使键并不总是存在,也能很好地工作。
如果您想要总 Assets ,则可以简单地对这些值求和:
>>> totals['total_assets'] = sum(totals.values())
>>> totals
Counter({'total_assets': 40, 'car': 17, 'house': 14, 'boat': 9})
>>>
