У меня есть три словаря, которые я хотел бы объединить:
dict_A = {'Archives': '1234',
'Content Revenue': '4567'}
dict_B = {'Archives': {'Content Partners Draft': '1111',
'Revenue Dashboard': '2222',
'Customer Lifetime Value Dashboard': '333',
'Customer Liftime Value V3': '4444'},
'Content Revenue': {'License Tracker': '5555',
'MONTH_END_PARTNER_REPORT': '6666',
'Par': '7777',
'Report': '8888',
'Impressions': '9999'}}
dict_C = {'Content Partners Draft': {'Content Partner Payout': '1111',
'Device Partner Payments': '1111',
'FirstRights (FirstRights xReference)': '1111',
'Sheet1 (Combined Partner Rev Share & Usage Rev Share)': '1111',
'Sheet1 (Rev Share xReference)': '1111'},
'Revenue Dashboard': {'Device Breakdown CPM and Fill Rate': '1111',
'Device CPM and Fill Rate Targets': '1111',
'Platform Breakdown CPM and Fill Rate': '1111',
'Platform CPM and Fill Rate Targets': '1111'},
'Customer Lifetime Value Dashboard': {'LTV Data Source 1-9-2020 Extract': '1111'},
'Customer Liftime Value V3': {'Customer LTV Data Source': '1111'},
'License Tracker': {'Sheet1 (Licensing)': '1111'},
'MONTH_END_PARTNER_REPORT': {'impressions_monthly': '1111', 'kpis_monthly_est': '1111'},
'Par': {'impressions_monthly': '1111', 'kpis_daily_est': '1111', 'kpis_monthly_est': '1111', 'timelines': '1111'},
'Report': {'kpis_monthly_est': '1111', 'partner_kpis_prog_hourly (public)': '1111'},
'Impressions': {'impressions_daily': '1111', 'impressions_monthly': '1111'}}
Я пытаюсь объединить их с этим вложенным пониманием слова:
combined_dict = {
outer_key : {nested_key : nested_value
for nested_key in dict_B[outer_key]
for nested_value in dict_C[nested_key]}
for outer_key in dict_A}
и получаю такой результат:
{'Archives': {'Content Partners Draft': 'Sheet1 (Rev Share xReference)',
'Customer Lifetime Value Dashboard': 'LTV Data Source 1-9-2020 '
'Extract',
'Customer Liftime Value V3': 'Customer LTV Data Source',
'Revenue Dashboard': 'Platform CPM and Fill Rate Targets'},
'Content Revenue': {'Impressions': 'impressions_monthly',
'License Tracker': 'Sheet1 (Licensing)',
'MONTH_END_PARTNER_REPORT': 'kpis_monthly_est',
'Par': 'timelines',
'Report': 'partner_kpis_prog_hourly (public)'}}
Результат успешно объединяет значения из dict_A и dict_B, но включает только одно значение из dict_ C. Можно ли иметь список значений (ключей) в качестве значение в понимании вложенного словаря?
Спасибо!
Мой ожидаемый вывод будет включать полный список ключей в качестве вложенных значений:
{'Archives': {'Content Partners Draft': ['Content Partner Payout', 'Device Partner Payments', 'FirstRights (FirstRights xReference)',
'Sheet1 (Combined Partner Rev Share & Usage Rev Share)', 'Sheet1 (Rev Share xReference)'],
'Customer Lifetime Value Dashboard': ['LTV Data Source 1-9-2020 Extract'],
'Customer Liftime Value V3': ['Customer LTV Data Source'],
'Revenue Dashboard': ['Device Breakdown CPM and Fill Rate', 'Device CPM and Fill Rate Targets', 'Platform Breakdown CPM and Fill Rate',
'Platform CPM and Fill Rate Targets']}
{'Content Revenue': {'Impressions': ['impressions_daily', 'impressions_monthly'],
'License Tracker': ['Sheet1 (Licensing)'],
'MONTH_END_PARTNER_REPORT': ['impressions_monthly', 'kpis_monthly_est'],
'Par': ['impressions_monthly', 'kpis_daily_est', 'kpis_monthly_est', 'timelines'],
'Report': ['kpis_monthly_est', 'partner_kpis_prog_hourly (public)']}}