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

时间:2012-11-08 04:58:12

标签: python dictionary

someDict = {'foo': True}
if 'foo' in someDict and someDict['foo']:
    print 'success'

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

2 个答案:

答案 0 :(得分:14)

someDict.get('foo')

如果foo中没有someDict,则会返回无,否则会返回找到的值。您可以选择传递第二个参数,如果该参数不存在,则返回该值。

答案 1 :(得分:0)

不。如果你正在做很多事情,你可能想写一个函数来做它。

def ExistsTrue(d, name):
    return name in d and bool(d[name])
# usage
ExistsTrue(someDict, 'foo')

我将bool广告投放在那里,因此该函数只返回TrueFalse