我有一个清单和一本字典。 我需要从列表中选择值,然后在字典中查找并获取该键的值。如果该键在字典中存在,则返回键的值
input_key= ['d0_f1','d1_f1','d1_f2','d3_f1']
dict = {
"d0" :
{
"d0_f1":"d0_v1",
"d3_f1" :"d3_v1"
},
"d1" :
{
"d1_f1":"d1_v1",
"d1_f2" :"d1_v2"
}
}
for key in input_key:
key_value = key
for key in dict:
if key == key_value:
value1 = dict[key]
print(value1)
答案 0 :(得分:0)
警告:
请勿将bult-in函数用作变量。
dict -- NO NO!
检查此
>>> for i in input_key:
for k in dict1.keys():
if i in dict1[k].keys():
print(dict1[k][i])
输出:
d0_v1
d1_v1
d1_v2
d3_v1
答案 1 :(得分:0)
如@ shaik-moeed所述,请勿将dict
用作变量名。我称它为d
。如果d
大而输入列表长,那么每次循环遍历字典都是很痛苦的。取而代之,我们可以建立一个仅包含键值的新字典。这样就很容易查询输入键了。
d2 = {}
for sub_dict in d.values():
d2.update(sub_dict)
现在只需向d2
查询input_key
。
for ik in input_key:
if ik in d2:
print(d2[ik])