Извлечение данных из вложенного словаря - PullRequest
0 голосов
/ 27 октября 2019

У меня есть словарь, составленный из нескольких других словарей. Эти другие словари идентичны по структуре. Они состоят из целого числа, двух строк и списка. Списки состоят из нескольких кортежей. Все кортежи состоят из строки, за которой следует целое число. Я хотел бы извлечь все целые числа в кортежах во всех словарях. Пример словаря может быть таким:

mast_dict = {"cap_1": {"id":1001, "unit":"unit1", "area":"Portland", "vitals":[("HR", 60), ("RR", 12), 
("temp", 102)]}, "cap_2":{"id":1002, "unit":"unit2", "area":"Moscow", "vitals":[("HR", 54), ("RR", 15),
("temp", 101)]}}

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

Ответы [ 2 ]

0 голосов
/ 27 октября 2019

Вы можете ссылаться, например, на "HR" в "cap_1", запустив эту строку кода:

mast_dict['cap_1']['area'][0][0]

, которая вернет "HR"

0 голосов
/ 27 октября 2019

список составов:

numbers = [tup[1] for d in mast_dict.values() for tup in d['vitals']]

>>> numbers

[60, 12, 102, 54, 15, 101]
...