如何避免密钥存在的捆绑检查和python中的值True

时间:2013-11-20 10:06:47

标签: python dictionary key conditional-statements

我有一个字典d

  • 要么没有密钥mykey
  • mykey存在且是布尔值。

我最终得到了很多行,例如:

if 'mykey' in d and d['mykey']:
    ...

是否有更好的方法来检查这种情况以避免重复,同时考虑到字典中可能缺少密钥?

2 个答案:

答案 0 :(得分:3)

使用dict.get()

if dict.get('mykey'):

如果密钥不存在,则返回默认值None,这是一个假值。您可以为其指定默认值False

if dict.get('mykey', False):

但在这种情况下,这确实是多余的。

答案 1 :(得分:2)

d.get('mykey', False)

如果密钥不存在,则返回False,否则返回与密钥对应的实际值。