检查字典中替代键的更好方法

问题描述 投票:0回答:1

我正在解析一个字典,它可能在 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"]

但这让我光是看着就感到恶心。还有更好的想法吗?

python dictionary
1个回答
0
投票

用我最终的结果回答我自己的问题。

我决定只编写一个函数来尝试多个键,因为它比嵌套的

.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}")
© www.soinside.com 2019 - 2024. All rights reserved.