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

詹姆斯·D

我想结合三本词典:

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)']}}
克德雷拉克

您可以使用:

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_C最终结果中只有一个键,它将nested_key来自的所有值设置为相同的键dict_C[nested_key],在dict一个键中只能有一个值

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

嵌套字典理解python

来自分类Dev

如何从Python列表中删除重复的字典(带有嵌套字典)?

来自分类Dev

带有嵌套列表的字典中的DataFrame

来自分类Dev

嵌套的Python字典理解

来自分类Dev

python中具有理解力的字典列表

来自分类Dev

Python中的嵌套列表理解

来自分类Dev

带有嵌套词典列表的字典中的Pandas DataFrame

来自分类Dev

字典对列表值的理解

来自分类Dev

带有列表理解的python中的嵌套上下文管理器

来自分类Dev

嵌套字典字典在Python中检索值

来自分类Dev

如何从列表中删除带有NaN值的字典

来自分类Dev

Python将带有列表(或带有字典的列表)的字典嵌套到用于CSV输出的平面字典列表

来自分类Dev

字典中的Python列表理解

来自分类Dev

嵌套列表到python中的嵌套字典

来自分类Dev

带有嵌套列表的字典中的DataFrame

来自分类Dev

有序嵌套字典到Python列表的列表理解

来自分类Dev

使用带有嵌套for循环的理解来创建字典

来自分类Dev

带有浮动错误的字典中的嵌套列表

来自分类Dev

Python获取列表中的嵌套字典值

来自分类Dev

带有字典的列表中的最大值

来自分类Dev

在字典中查找具有相同值的嵌套列表 [Python]

来自分类Dev

Python - 嵌套在字典中的列表 - 如何对单个值求和

来自分类Dev

Python - 根据列表替换嵌套字典中的所有键

来自分类Dev

使用python在csv中存储带有列表值的字典

来自分类Dev

带有元组列表的嵌套字典作为来自python中DATA文件的值

来自分类Dev

Python:字典中的嵌套列表?

来自分类Dev

Python修改键列表中的嵌套字典值

来自分类Dev

如何从 Python 中的字典分配带有键和值的列表

来自分类Dev

带有字符串键和列表值的字典的 Python 理解

Related 相关文章

热门标签

归档