首页 > 解决方案 > 如何使用另一个字典中的键作为名称从字典中获取值

问题描述

我有2本词典。我需要根据第一个字典中的键从第二个字典中检索值。

第二个字典名称是第一个字典的键。但是当我从第一个字典中获取密钥时,它的类型是字符串。当我使用相同的方法从第二个字典中获取值时,我得到 AttributeError

dictA = {
    "key1": [val1, val2, val3],
    "key2": [val4, val5, val6],
    "key3": [val7, val8, val9]
}

key1 = {
    "A": "value",
    "B": "value",
    "C": "value"
}

for key, value in dictA.items():
    for val in value:
        if val == "val1":
           newKey = key

val = newKey.get("A")

AttributeError:“str”对象没有属性“get”

有没有办法通过将字符串对象转换为字典来实现。

为我含糊的解释道歉

标签: pythondictionary

解决方案


将您的key1字典(和所有其他key...字典)存储在更大的字典中。

keys = {
  'key1': {
    'A': 'value',
    ...
  }
}

然后,您可以使用以下命令访问它newKey

val = keys[newKey]['A']

推荐阅读