簡體   English   中英

如何檢查是否為字典定義了值變量?

[英]How to check if value variable is defined for dictionary?

我有一個隨機的 function 僅將值分配給某些dict 鍵,但我無法在其他未定義的情況下運行我的代碼。 如果未定義變量,有沒有辦法設置默認值?

我考慮解決這個問題的一種方法是在dict None值中分配每個鍵,然后用定義的變量更新dict。 這是唯一的方法嗎?

defined_variable = 'value'

dictionary = {
'key1': defined_variable,
'key2': undefined_varible # gives me NameError
}

print(dictionary)



#  --- maybe something like this?

defined_variable = 'value'

dictionary = {
'key1': defined_variable,
try:
    'key2': undefined_varible
except NameError:
    # code
}

print(dictionary) 

我相信我可以在這里幫助你。 我們應該依賴Collections模塊中的 defaultdict。

from collections import defaultdict
dictionary  = defaultdict(str) # If you want a default value to be a number, use 'int'.
dictionary['key1'] = 'defined_variable'

這將返回:

defaultdict(str, {'key1': 'defined_variable'})

然后我們執行(不分配任何東西):

dictionary['key2']

您將得到一個分配給“key2”的空字符串——即,空字符串成為默認值。

defaultdict(str, {'key1': 'defined_variable', 'key2': ''})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM