В python есть ли способ автоматически заменить отсутствующие значения?

Я пытаюсь проанализировать объект JSON, состоящий из массива объектов. Каждый объект содержит несколько полей, но поля часто отсутствуют. Вот пример:

{ 'objects' : [{ 'fieldA' : 1, 'fieldB' : 2, 'fieldC' : 3, }, { 'fieldA' : 7, 'fieldC' : 8, }, {}, { 'fieldB' : 1, 'fieldC' : 0, }] } 

Я хотел бы преобразовать каждое из полей в список, сохраняя порядок объектов, что эквивалентно этому:

 fieldA = [1,7,"Missing","Missing"] fieldB = [2,"Missing","Missing",1] fieldC = [3,8,"Missing",0] 

Есть ли простой способ сделать это? Я могу придумать, как это сделать, что связано с множеством операторов «if» и «in» и повторной итерацией по спискам. Но кажется, что должен быть более питонический способ сделать это, например:

 fieldA = [ (obj.fieldA | "missing") for obj in json.objects] 

Синтаксис python позволяет что-то вроде этого?

Вам нужен метод dict.get() :

 fieldA = [obj.get("fieldA", "missing") for obj in json["objects"]] 

Обратите внимание, что элементы словаря доступны с помощью ["key"] , а не с .key .