我有一个嵌套的OrderedDict,我想从中提取一个值。但是在提取该值之前,我必须确保存在一长串属性,并且它们的值都不是没有。

改进以下代码的最Python方式是什么:

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']

最佳答案

另一种方法是使用get()方法:

x = data.get('first', {}).get('second', {}).get('third', None)

如果在任何时候都不存在该 key ,则为x = None

关于python - 检查嵌套属性是否存在,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29855646/

10-15 12:44