У меня есть следующий список словарей в Python3.x:
list_of_dictionaries = [{0:3523, 1:3524, 2:3540, 4:3541, 5:3542},
{0:7245, 1:7246, 2:7247, 3:7248, 5:7249, 6:7250},
{1:20898, 2:20899, 3:20900, 4:20901, 5:20902}]
В данном случае это единый список с тремя словарями.
Я хотел бы эффективно объединить это в один словарь со списками в качестве значений; вот правильный ответ:
correct = {0:[3523, 7245], 1:[3524, 7246, 20898], 2:[3540, 7247, 20899],
3:[7248, 20900], 4:[3541, 20901], 5:[3542, 7249, 20902], 6:[7250]}
Моей первой мыслью было такое понимание списка:
dict(pair for dictionary in list_of_dictionaries for pair in dictionary.items())
Но это неправильно, так как он не включает списки значений:
{0: 7245, 1: 20898, 2: 20899, 4: 20901, 5: 20902, 3: 20900, 6: 7250}
Я также беспокоюсь о том, как максимально эффективно создавать списки значений. Он также может не масштабироваться до больших списков/больших словарей.
Как я мог это сделать?