Как составить список ключей и сосчитать со словарем словарей - PullRequest
0 голосов
/ 18 мая 2018

Я довольно плохо знаком с Python и борюсь с вложенными словарями.Рассмотрим этот словарь словарей:

dict=[{'Item 1': {'A': 106,
  'B': 77,
  'C': 46,
  'D': 36},
 'Item 2': {'E': 1141,
  'F': 1065,
  'G': 1020}}]

Я бы хотел перечислить ключи, а затем подсчитать количество вложенных словарных ключей.Вот так:

Item 1: 4
Item 2: 3

Спасибо!

Ответы [ 3 ]

0 голосов
/ 18 мая 2018
for k,v in lst[0].items():                                                                                                                                                        
    print(k, ':', len(v))
0 голосов
/ 18 мая 2018

При работе с вложенным словарем в списке сначала необходимо выполнить итерацию по значениям списка.Значения списка - это просто словари внутри вашего списка.Один раз пройдя по элементам списка, вы можете перейти к элементам словаря.В приведенном ниже коде я прошел по каждому элементу в списке, а затем по парам ключ-значение, чтобы получить искомый вывод.

dictionary = [{'Item 1': {'A': 106,
               'B': 77,
               'C': 46,
               'D': 36},
               'Item 2': {'E': 1141,
               'F': 1065,
               'G': 1020}}]

for item in dictionary:
      for key, value in item.items():
             print('{}:{}'.format(key, len(value)))

А вот ваш вывод:

Item 1:4
Item 2:3
0 голосов
/ 18 мая 2018

Одна идея:

[(k, len(v)) for k, v in dict[0].items()]

Выход:

[('Item 1', 4), ('Item 2', 3)]

PS.Я бы порекомендовал не называть ваш словарь dict - это зарезервированное ключевое слово, и таким образом вы скрываете его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...