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

次のコードは正常に動作します。キーが存在し、その値が真であるかどうかを確認するためのより良い/より短い方法があるかどうか疑問に思っています。

4

2 に答える 2

14

someDict.get('foo')

fooが にない場合はNone を返しsomeDict、そうでない場合は見つかった値を返します。オプションで、存在しない場合に返される値となる 2 番目の引数を渡すことができます。

于 2012-11-08T04:59:56.273 に答える
0

いいえ。ただし、これを頻繁に行う場合は、それを行う関数を作成することをお勧めします。

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

関数がorboolのみを返すように、そこにキャストを入れました。TrueFalse

于 2012-11-08T05:02:26.080 に答える