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

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

4

2 回答 2

14

someDict.get('foo')

foo如果不在,这将返回 None someDict,否则将返回找到的值。您可以选择传递第二个参数,如果它不存在,它将作为返回的值。

于 2012-11-08T04:59:56.273 回答
0

没有。但是,如果您经常这样做,则可能需要编写一个函数来执行此操作。

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

我把bool演员放在那里,所以函数只返回Trueor False

于 2012-11-08T05:02:26.080 回答