在python字典中检查元素是否存在且是否为真的正确方法是什么?

mar*_*oss 2 python dictionary

someDict = {'foo': True}
if 'foo' in someDict and someDict['foo']:
    print 'success'
Run Code Online (Sandbox Code Playgroud)

以下代码工作正常.我只是想知道是否有更好/更短的方法来检查密钥是否存在且其值是否为真.

Mic*_*kel 14

someDict.get('foo')

如果foo不在someDict,则返回None ,否则返回找到的值.您可以选择传递第二个参数,如果该参数不存在,则返回该值.

  • 提及的+1可以指定可选参数.我个人更喜欢`someDict.get('foo',False)`所以意图更明显,但无论哪种方式都有效. (4认同)