В настоящее время у меня есть словарь, ключ которого представляет собой почтовый индекс, а значения также являются словарем.
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)