测试dict元素的存在和非空白

时间:2014-05-28 01:33:59

标签: python dictionary key

鉴于字典词典,是否有更优雅的方式进行此测试?

if 'key' in dict and dict['key']:

1 个答案:

答案 0 :(得分:3)

您可以使用dict.get

if dict.get('key'):

如果找不到密钥,该方法将返回None(评估为False)。否则,它将返回与密钥关联的值。

参见下面的演示:

>>> dct = {'a':0, 'b':1}
>>>
>>> dct.get('a')
0
>>> dct.get('b')
1
>>> dct.get('c')  # Returns None with non-existent keys
>>>
>>> bool(dct.get('a'))  # 0 evaluates to False
False
>>> bool(dct.get('b'))  # 1 evaluates to True
True
>>> bool(dct.get('c'))  # The None returned by dict.get evaluates to False
False
>>>

请注意,您还可以指定默认返回值:

>>> dct.get('c', 'not found')
'not found'
>>>