有谁能告诉我如何找到名为ven_id
的嵌套字典键,以及如果它存在,如何返回整个嵌套字典值
ven1_id = 'ven_id_123'
ven2_id = 'ven_id_321'
def ven_lookup(ven_id):
ven_info = {'ven1_info':
{'ven_id': 'ven_id_123',
'ven_name': 'ven123',
'fingerprint': '7F:7F:7F:7F:7F:7F:7F:7F:7F:7F',
'registration_id': 'reg_id_123'},
'ven2_info':
{'ven_id': 'ven_id_321',
'ven_name': 'ven321',
'fingerprint': 'G3:G3:G3:G3:G3:G3:G3:G3:G3:G3',
'registration_id': 'reg_id_321'}
}
look_up = ven_id in ven_info.values()
if look_up:
return {'ven_id': ven_info['ven_id'],
'ven_name': ven_info['ven_name'],
'fingerprint': ven_info['fingerprint'],
'registration_id': ven_info['registration_id']}
else:
return {}
print(ven_lookup(ven1_id))
print(ven_lookup(ven2_id))
如果我运行此命令,它将返回False
{}
{}
>>>
.values()
将返回沿{'ven_id': 'ven_id_123', 'ven_name': 'ven123',...}
行的内容"ven_id_123"
不是此输出。因此,它转到else
子句。出于同样的原因,您还必须更改ven_info[]
子句中的if
索引这将搜索
ven_info
的值,如果ven的id与传入参数的id匹配,它将返回所需的正确字典。否则,这是一个空的命令我在代码中做了一些修改,我正在使用.keys()方法查看字典的每个键。对于每个键,我都会检查是否与输入字符串相等。 如果我找到了正确的匹配项,我只需将字典提取到结果变量并返回它
可以使用生成器表达式查找第一个匹配的值:
其中
next
中的第二个参数是默认值(如果未生成任何值)相关问题 更多 >
编程相关推荐