【问题标题】:How to iterate through a dictionary inside of a list, which is a value of a dictionary如何遍历列表中的字典,这是字典的值
【发布时间】:2019-05-26 21:12:20
【问题描述】:

我一直很难理解我应该如何解决这个问题。

我有一个字典,其中包含每个键值的列表。

每个列表包含 n 个字典。

在这些字典中,对于主字典的每个键值,我需要总结一个值。

我不知道如何遍历列表内的字典,即来自更大字典的值。

我将在下面提供主要代码。有人可以帮助我了解如何解决这个问题吗?

输入,其中 groups 是一个字典,'Hydrofilm...' 是关键值之一':

groups['Hydrofilm 10cm x 15cm VP Adh Film Dress']

输出,即与该键值相关的字典列表:

[{'bnf_code': '20030100236',
  'items': 1,
  'practice': 'P81069',
  'bnf_name': 'Hydrofilm 10cm x 15cm VP Adh Film Dress',
  'nic': 10.6,
  'act_cost': 9.83,
  'quantity': 20},
 {'bnf_code': '20030100236',
  'items': 1,
  'practice': 'P81100',
  'bnf_name': 'Hydrofilm 10cm x 15cm VP Adh Film Dress',
  'nic': 10.6,
  'act_cost': 9.81,
  'quantity': 20},
 {'bnf_code': '20030100236',
  'items': 1,
  'practice': 'J81043',
  'bnf_name': 'Hydrofilm 10cm x 15cm VP Adh Film Dress',
  'nic': 5.3,
  'act_cost': 4.92,
  'quantity': 10},
 {'bnf_code': '20030100236',
  'items': 1,
  'practice': 'J81056',
  'bnf_name': 'Hydrofilm 10cm x 15cm VP Adh Film Dress',
  'nic': 5.3,
  'act_cost': 4.92,
  'quantity': 10},
 {'bnf_code': '20030100236',
  'items': 1,
  'practice': 'J81057',
  'bnf_name': 'Hydrofilm 10cm x 15cm VP Adh Film Dress',
  'nic': 5.3,
  'act_cost': 4.92,
  'quantity': 10}]

需要求和的关键是'items'

预期结果:

sum_list = [1,1,1,1,1]

【问题讨论】:

  • 对于输入,请edit 提问并展示与groups['Hydrofilm 10cm x 15cm VP Adh Film Dress'] 键相关联的列表中可能包含的内容的示例。

标签: python python-3.x list dictionary


【解决方案1】:

将该字典列表分配给elements。 然后我们想要:

>>> [element['items']  for element in elements]
[1, 1, 1, 1, 1]

【讨论】:

    【解决方案2】:

    sum_list = [element['items'] for element in dataSet if element['bnf_code'] == 'Hydrofilm 10cm x 15cm VP Adh Film Dress'

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-23
      • 1970-01-01
      • 2019-11-29
      相关资源
      最近更新 更多