ключ defaultdict проблемы со значением по умолчанию - PullRequest
0 голосов
/ 25 января 2019

Я новичок в Python и у меня проблема с defaultdict. У меня есть JSON, где не всегда присутствует ключ lastInspection. Мне нужно ввести значение по умолчанию для даты.

p.get("lastInspection", "") возвращает меня {'date': '2018-01-03'}

problem = [{'lastInspection': {'date': '2018-01-03'}, 'contacts': []}]

for p in problem:
    print(p.get("lastInspection", ""))
    print(p.get("date", ""))

1 Ответ

0 голосов
/ 25 января 2019

Я предполагаю, что defaultdict - это не то, что вы хотите использовать.

Значения по умолчанию должны быть объявлены во втором аргументе метода get.

problem = [{'lastInspection': {'date': '2018-01-03'}, 'contacts': []}]
default_inspection = { 'date': '2018-01-03' }

for p in problem:
    # default_inspection is returned, when 'lastInspection' is not present in the json
    inspection = p.get("lastInspection", default_inspection)
    print(inspection)
    # now you access date, as you are sure, that it is present
    print(inspection['date'])
...