我正在解析一个字典,它可能在 4 个可能的键下具有我想要的值(我无法控制字典)。
按键可以是
"value"
"_value"
"amount"
或 "_amount"
目前我唯一的想法是
try:
val = myDict["value"]
except KeyError:
try:
val = myDict["_value"]
except KeyError:
try:
val = myDict["amount"]
except KeyError:
val = myDict["_amount"]
但这让我光是看着就感到恶心。还有更好的想法吗?
用我最终的结果回答我自己的问题。
我决定只编写一个函数来尝试多个键,因为它比嵌套的
.get()
调用更具可读性。
def tryMultipleKeys(myDict, keysToCheck):
val = None
for k in keysToCheck:
val = myDict.get(k)
if val is not None:
break
else:
raise KeyError(f"None of the keys ({keysToCheck}) were found in {myDict}")