我有三本词典要合并:
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'}}
我尝试将它们与嵌套的dict理解结合起来:
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)']}}
您可以使用:
输出:
这一行
for nested_value in dict_C[nested_key]}
使您只有一个来自dict_C
的键。在最终结果中,它为同一个键nested_key
设置了来自dict_C[nested_key]
的所有值,在dict
中,一个键只能有一个值相关问题 更多 >
编程相关推荐