Как перебрать словарь внутри списка, который является значением словаря - PullRequest
0 голосов
/ 27 мая 2019

Мне было трудно понять, как мне подходить к этой проблеме.

У меня есть словарь, который содержит списки для каждого значения ключа.

Каждый список содержит n чиселсловари.

Внутри этих словарей есть значение, которое мне нужно суммировать для каждого ключевого значения основного словаря.

Я понятия не имею, как перебирать словарькоторый находится внутри списка, это значение из большего словаря.

Я приведу основной код ниже.Может ли кто-нибудь помочь мне понять, как подойти к проблеме?

Ввод, где группы - это дикт, а «Гидрофильм ...» - одно из ключевых значений »:

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]

Ответы [ 2 ]

0 голосов
/ 27 мая 2019

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

0 голосов
/ 27 мая 2019

Назначьте этот список диктов на elements. Тогда мы хотим:

>>> [element['items']  for element in elements]
[1, 1, 1, 1, 1]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...