为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

跃然一笑 2022-08-25 14:17:25
我有三本字典,我想把它们组合起来: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中的一个值。是否可以将值(键)列表作为嵌套字典推导中的值?
查看完整描述

1 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

您可以使用:


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


查看完整回答
反对 回复 2022-08-25
  • 1 回答
  • 0 关注
  • 116 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号