繁体   English   中英

如何使用另一个字典中的键作为名称从字典中获取值

[英]How to get value from dictionary using key from another dictionary as the name

我有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'

有没有一种方法可以通过将字符串对象转换为dict来实现。

为我含糊的解释道歉

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

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

然后,您可以使用newKey进行访问:

val = keys[newKey]['A']

实例:

nested_dict = { 
   'dictA': {'key_1': 'value_1'},
   'dictB': {'key_2': 'value_2'}
}

访问:

value = nested_dict['dictA']['name']

这些摘自这个很棒的嵌套词典教程

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM