有没有一种方法可以检查字典中是否包含键,并且该键是否一次通过不为None?

问题描述 投票:0回答:2
sampleDict = {'1':None}

要检查键是否存在,如果不是,则必须这样做

if '1' in sampleDict:
    if sampleDict['1'] is not None:
        #do something

是否有更多的pythonic方法可以通过单次执行此操作?

python dictionary
2个回答
2
投票

您的代码:

if '1' in sampleDict:
    if sampleDict['1'] is not None:
        #do something

可以简化为:

if sampleDict.get('1') is not None:
    #do something

[如果没有找到,则dict.get()返回None的事实包含了第一个if子句。如果发现密钥,则dict.get()返回与[]相同的值,从而包含第二个if子句。


-1
投票

如果我想问这个问题的确切含义(“检查键是否存在,如果不是,则为” None“,那么您想要dict.keys()

您必须检查键是否为not None

if key is not None:
  do_something()

并且它存在:

if key is not None and key in my_dict.keys(): 
  do_something()
© www.soinside.com 2019 - 2024. All rights reserved.