鉴于字典词典,是否有更优雅的方式进行此测试?
if 'key' in dict and dict['key']:
答案 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'
>>>