Я обращаюсь к конечной точке API, которая предоставляет информацию о событиях. Количество атрибутов каждого события может меняться. Теперь я пытаюсь сделать следующее:Как установить var, если он существует в dict?
for e in apiResult:
event = Event()
event.street = e['f_street']
event.price = e['f_price']
event.venue_name = e['f_venue_name']
event.start = e['f_start']
# and about 40 more..
event.save()
Но иногда я получаю ключевые ошибки. Поэтому для каждого атрибута мне нужно проверить, существует ли он. Я мог бы, конечно, сделать это следующим образом:
if 'f_street' in e:
event.street = e['f_street']
if 'f_price' in e:
event.price = e['f_price']
# etc. etc.
но это не похоже на Pythonic. Кто-нибудь знает, как я могу (Pythonically) установить атрибут event
, только если он существует в словаре e
? Все советы приветствуются!
Увидев ответ @starrify, это зависит от того, хотите ли вы всегда иметь атрибуты в объекте 'event' (либо со значением из dict или с параметром None), либо не иметь их вообще, когда ключ не находится в словаре. Другими словами, это зависит от того, что именно вы хотите сделать, когда ключ не находится в словаре. – zegkljan