У меня есть словарь users
с 1748 элементами как (показывая только первые 12 элементов) -
defaultdict(int,
{'470520068': 1,
'2176120173': 1,
'145087572': 3,
'23047147': 1,
'526506000': 1,
'326311693': 1,
'851106379': 4,
'161900469': 1,
'3222966471': 1,
'2562842034': 1,
'18658617': 1,
'73654065': 4,})
и другой словарь partition
с 452743 элементами как (показывая первые 42 элемента) -
{'609232972': 4,
'975151075': 4,
'14247572': 4,
'2987788788': 4,
'3064695250': 2,
'54097674': 3,
'510333371': 0,
'34150587': 4,
'26170001': 0,
'1339755391': 3,
'419536996': 4,
'2558131184': 2,
'23068646': 6,
'2781517567': 3,
'701206260771905541': 4,
'754263126': 4,
'33799684': 0,
'1625984816': 4,
'4893416104': 3,
'263520530': 3,
'60625681': 4,
'470528618': 3,
'4512063372': 6,
'933683112': 3,
'402379005': 4,
'1015823005': 2,
'244673821': 0,
'3279677882': 4,
'16206240': 4,
'3243924564': 6,
'2438275574': 6,
'205941266': 3,
'330723222': 1,
'3037002897': 0,
'75454729': 0,
'3033154947': 6,
'67475302': 3,
'922914019': 6,
'2598199242': 6,
'2382444216': 3,
'1388012203': 4,
'3950452641': 5,}
Все ключи в users
(все уникальные) находятся в partition
и также повторяются с разными значениями (а также partition
содержит некоторые дополнительные ключи, которые не используются нами).То, что я хочу, - это новый словарь final
, который соединяет ключи users
, совпадающие с ключами partition
, со значениями partition
, т.е. если у меня есть '145087572' в качестве ключа вusers
и один и тот же ключ был повторен дважды или трижды в partition
с разными значениями, такими как: {'145087572': 2, '145087572': 3, '145087572': 7} , тогда я долженполучить все эти три элемента в новом словаре final
.Также я должен сохранить этот словарь как ключ: значение СДР.
Вот что я попробовал:
user_key=list(users.keys())
final=[]
for x in user_key:
s={x:partition.get(x) for x in partition}
final.append(s)
После запуска этого кода мой ноутбук перестает отвечать (код все еще показывает [*]) иЯ должен перезапустить его.Могу ли я знать, что есть проблема с моим кодом и более эффективный способ сделать это.