猿问

Python中的嵌套字典理解与值列表

我有三本字典,我想把它们组合起来:


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_A的值组合在一起,并成功dict_B,但仅包含dict_C中的一个值。是否可以将值(键)列表作为嵌套字典推导中的值?


跃然一笑
浏览 117回答 1
1回答

慕森王

您可以使用:combined_dict = {    outer_key: {nested_key: list(dict_C[nested_key].keys())                for nested_key in dict_B[outer_key]}    for outer_key in dict_A}输出:{'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)'],  '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'],  'Customer Lifetime Value Dashboard': ['LTV Data Source 1-9-2020 Extract'],  'Customer Liftime Value V3': ['Customer LTV Data Source']}, 'Content Revenue': {'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)'],  'Impressions': ['impressions_daily', 'impressions_monthly']}}这行导致你在最终结果中只有一个键,它为同一键设置来自的所有值,在一个键中只能有一个值for nested_value in dict_C[nested_key]}dict_Cnested_keydict_C[nested_key]dict
随时随地看视频慕课网APP

相关分类

Python
我要回答