有没有一种方法可以检查字典中是否有键,并且该键的值不能一次通过?

时间:2019-11-17 04:00:29

标签: python dictionary

sampleDict = {'1':None}

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

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

是否还有一种更Python化的方式可以通过一次传递?

2 个答案:

答案 0 :(得分:4)

您的代码:

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

可以简化为:

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

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

答案 1 :(得分:0)

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

您必须检查密钥是否为not None

if key is not None:
  do_something()


并且它存在:

if key is not None and key in my_dict.keys(): 
  do_something()