[英]Checking if Dict Value exists
我嘗試尋找答案,但是沒有找到任何幫助。 所以我不得不問。
我有一個密碼收集器,該密碼收集器現在每次運行腳本時都會運行。 然后將該值存儲在內存中以用於該會話。
即使只要maya仍處於打開狀態就關閉該腳本,也可以訪問密碼。
我需要的是一種方法來查看該值是否已在內存中。 當我使用
print argdict['password']
我可以看到該字典在我的記憶中。 我試圖得到類似的東西
if argdict['password'] in locals():
print 'its alive'
但這不會返回任何內容,那么檢查dict鍵或值是否存在的正確方法是什么。
用這個:
if 'password' in argdict:
測試“密碼”是否在字典的值中。
"password" in d.itervalues()
測試“密碼”是否在字典的鍵中。
"password" in d.keys()
你可以使用它做in
:
if 'password' in argdict:
我認為可能更優雅的是:
if argsdict.get('password', False):
# do whatever
它將嘗試查看argsdict
是否具有“密碼”鍵/值對,但如果沒有,它將求助於默認值,我將其設置為False.
因此, if False
沒有“密碼”鍵,則條件變為if False
,因此條件塊將不會運行。
然而,這也不會,如果你有被認為是一個對象執行False
為“密碼”的值。 評估為False
各種值(嘗試通過bool(some_object)
查看其評估為True還是False): 0, None, '', {}, []
等。大多數空容器為False
。
因此,這可能是您最好的選擇:
if 'password' in argsdict:
檢查字典是否存在的正確方法是簡單地使用名稱:
>>> d = dict()
>>> 'd' in locals()
True
並查看是否是字典:
>>> isinstance(d, dict)
True
要檢查密鑰:
>>> d['password'] = 'foo'
>>> 'password' in d
True
要檢查值是否存在(並且是非空的):
>>> if d.get('password'): print True
...
True
要檢查該值是否為特定值:
>>> d.get('password') == 'foo'
True
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.