Python:为了避免TypeError,我是否需要检查字典中是否有列表,然后检查该列表是否包含该项?

时间:2015-08-17 21:44:30

标签: python dictionary

我有几本词典。有时他们使用键thing,其值是字典。

有时该字典具有键anotherthing,其值为可以为空的字符串。因此,如果我想检查anotherthing的值以查看是否A.键实际存在且B.值评估为某些内容,我需要使用三个if语句(因为任何一个键不存在)?

    if 'thing' in dictionary_one:
        if 'anotherthing' in dictionary_one['thing']:
            val = dictionary_one['thing']['anotherthing'] 
              if val:
                    # Do something with value 

在其他语言中,值只会评估为None除了使用Try...Except之外还有其他办法吗?

1 个答案:

答案 0 :(得分:2)

您可以使用dict.get()链接查找:

val = dictionary_one.get('thing', {}).get('anotherthing')
if val: