我在查询一个带有关于事件信息的API端点。尽管每个事件的属性数量可能会有所不同。我现在尝试执行以下操作:如何设置一个var,如果它存在于字典中?
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。是否有人知道我可以如何(Python)将属性设置为event
,仅当它存在于e
字典中?欢迎所有提示!
看到@starrify的答案,它取决于你是否希望始终在'event'对象中拥有属性(或者使用来自dict的值或者使用None的值),或者根本不需要拥有它们不在字典中。换句话说,它取决于当密钥不在字典中时你想要做什么。 – zegkljan 2014-09-23 09:04:18