有没有办法检查字典是否有键,以及该键的值是否一次不是 None ?

San*_*ta7 0 python dictionary

sampleDict = {'1':None}
Run Code Online (Sandbox Code Playgroud)

要检查密钥是否存在,如果不是无,我必须这样做

if '1' in sampleDict:
    if sampleDict['1'] is not None:
        #do something
Run Code Online (Sandbox Code Playgroud)

有没有更 Pythonic 的方法可以一次性完成此操作?

Joh*_*nck 5

您的代码:

if '1' in sampleDict:
    if sampleDict['1'] is not None:
        #do something
Run Code Online (Sandbox Code Playgroud)

可以简化为:

if sampleDict.get('1') is not None:
    #do something
Run Code Online (Sandbox Code Playgroud)

它将第一个 if 子句包含在如果未找到则dict.get()返回的事实中None。它通过dict.get()返回与[]找到键相同的值这一事实来包含第二个 if 子句。