是否有適用于以下想法的有效 Python 語法:
d = {_: 'value for any other key', 'x': 'value only for x key'}
value = d[key]
哪個應該'value only for x key'只在什么時候賦值key='x'?
我的代碼中有以下結構,但我想將其替換為類似于上述陳述句的內容。
if key == 'x':
value = 'value only for x key'
else:
value = 'value for any other key'
uj5u.com熱心網友回復:
我建議使用模塊中的 a defaultdict,collections因為它避免了使用if/elseor來檢查字典中的成員資格的需要try/except:
from collections import defaultdict
d = defaultdict(lambda: 'value for any other key', {'x': 'value only for x key'})
item = 'x'
value = d[item]
print(value) # Prints 'value only for x key'
item = 'y'
value = d[item]
print(value) # Prints 'value for any other key'
uj5u.com熱心網友回復:
Python hasmatch陳述句相當于C'sswitch以來的陳述句 version 3.10,但您的方法也可以使用:
dictionary = {
'a': my_a_value,
'b': my_b_value,
'_': my_default_value
}
try:
x = dictionary[input()]
except KeyError:
x = dictionary['_']
uj5u.com熱心網友回復:
您可以使用字典的 get 函式來自定義回傳值:
d = {
'x' : 'value only for x key',
'y' : 'value only for y key',
'_' : 'value for any other key'
}
key = input("Enter the key")
value = d.get(key, d['_'])
print("Value is ", value)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/454580.html
下一篇:無一例外地限制用戶輸入
