2
someDict = {'foo': True}
if 'foo' in someDict and someDict['foo']:
print 'success'
以下代碼正常工作。我只是想知道是否有一個更好/更短的方式來檢查密鑰是否存在,其值是否爲真。什麼是正確的方式來檢查元素是否存在,並在Python字典中是真的?
someDict = {'foo': True}
if 'foo' in someDict and someDict['foo']:
print 'success'
以下代碼正常工作。我只是想知道是否有一個更好/更短的方式來檢查密鑰是否存在,其值是否爲真。什麼是正確的方式來檢查元素是否存在,並在Python字典中是真的?
someDict.get('foo')
這將返回None如果foo
不someDict
,否則將返回找到的值。如果不存在,您可以選擇傳遞第二個參數,該參數將返回值。
沒有。如果你這樣做了很多,你可能想編寫一個函數來完成它。
def ExistsTrue(d, name):
return name in d and bool(d[name])
# usage
ExistsTrue(someDict, 'foo')
我把bool
投在裏面,因此函數只返回True
或False
。
+1提到你可以指定可選參數。我個人更喜歡'someDict.get('foo',False)'所以意圖更明顯,但無論哪種方式都有效。 – del
好東西,謝謝! –