我有一个嵌套的OrderedDict
,我想从中提取一个值。但在我提取该值之前,我必须确保存在一长串属性,并且它们的值不是没有。
改进以下代码的最pythonic方法是什么:
if 'first' in data and \
data['first'] and \
'second' in data['first'] and \
data['first']['second'] and \
'third' in data['first']['second'] and \
data['first']['second']['third']:
x = data['first']['second']['third']
答案 0 :(得分:7)
另一种方法是使用get()
方法:
x = data.get('first', {}).get('second', {}).get('third', None)
如果密钥不存在,则x = None
答案 1 :(得分:2)
您可以将其包围在try / except块中,如下所示:
tableView:didSelectRowAtIndexPath: