Выбор записей из глубоко вложенного словаря - PullRequest
1 голос
/ 13 апреля 2020

У меня есть очень глубоко вложенный словарь (geo json), который содержит шейп-файлы с функциями. Одна из этих функций - это month_num, с помощью которой я хочу выбрать данные. Проблема в том, что этот словарь глубоко вложен. Самое близкое, что я придумал, это следующее:

list(filter(lambda country: ['features'][country]['properties']['month_num'] == 2, geojson_countries))

Но это дает мне следующую ошибку:

TypeError: индексы списка должны быть целыми или кусочками, а не str

Файл geo json выглядит следующим образом:

enter image description here

Я хочу иметь возможность выбрать все записи, которые имеют 'month_num' == 2.

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

1 Ответ

1 голос
/ 14 апреля 2020

Вы можете ладить с

dct = your_dict.copy()
dct["features"] = [item for item in dct["features"] 
                   if item["properties"]["month_num"] == 2]
...