【发布时间】:2019-07-07 11:05:58
【问题描述】:
我有两本字典。 Dict 1:值是第二个dict的键的路径。
我需要从 get Dict 1 中获取键和值,并使用路径从 Dict 2 中获取值。
dict2:
dict2 = {
"s0" :
{
"s1" : {
"s1_f1":"s1_v1",
"s1_f2" : "s1_v2"
},
"s2": {
"s2_f1":"s2_v1",
"s2_f2" : "s2_v2",
"s2_f3" : {
"s3_f1":"s3_v1"
}
}
}
}
dict1:
dict1 = {
"d0_f1":"s0/s1/s1_f1",
"d3_f1" : "s0/s2/s2_f3/s3_f1",
"d1_f1":"s0/s2/s2_f1",
"d1_f2" :"s0/s2/s2_f2"
}
输出:
对于dict1中的每个键和值,获取dict2中键的值 在 dict 1 中的值
{"d0_f1" = "s1_v1"}
代码:
def find_in_input_json(element, input_json):
keys = element.split('/')
rv = input_json
for key in keys:
rv = rv[key]
return rv
value = find_in_input_json(key_value, input_json)
print(value)
这是一条错误消息
AttributeError: 'dict' object has no attribute 'split'
【问题讨论】:
-
key_value是字典吗? -
不,是列表
-
根据错误,元素不是
string而只是dict是100% 正确的。 -
@vartika,您能否在问题描述中提及或展示这一点?我猜,它可能是一个包含
list的dict。 -
好吧,Python 说它是
dictionary,所以你最好仔细检查一下。
标签: python-3.x list dictionary