目前,我有一个字典,其键表示邮政编码,值也是一个字典。
d = { 94111: {'a': 5, 'b': 7, 'd': 7},
95413: {'a': 6, 'd': 4},
84131: {'a': 5, 'b': 15, 'c': 10, 'd': 11},
73173: {'a': 15, 'c': 10, 'd': 15},
80132: {'b': 7, 'c': 7, 'd': 7} }
然后是第二个字典,它将邮政编码对应到所属的州。
states = {94111: "TX", 84131: "TX", 95413: "AL", 73173: "AL", 80132: "AL"}
如果字典中的邮政编码states
与db
中的某个键匹配,则会将这些值相加并放入新的字典中,就像预期输出一样。
预期输出:
{'TX': {'a': 10, 'b': 22, 'd': 18, 'c': 10}, 'AL': {'a': 21, 'd': 26, 'c': 17, 'b': 7}}
目前这是我想要追求的方向,但当两个密钥匹配时,我不确定如何创建一个类似于预期输出的字典。
def zips(d, states):
result = dict()
for key, value in db.items():
for keys, values in states.items():
if key == keys:
zips(d, states)
defaultdict
而不是普通的dict
?是否有特殊原因? - SwadhikarCounter
至少是一个纯 Python 的用户定义子类,继承自dict
。它没有比单独使用dict
更快的理由。 - chepner