def extract_matching_keys(data_dict, good_list): """ 递归遍历data_dict,查找good_list中存在的键,并将匹配的键及其值添加到结果字典中。 参数: - data_dict (dict): 要遍历的嵌套字典。 - good_list (list): 包含要查找的键的列表。 返回: - dict: 包含所有匹配键及其值的字典。 """ result = {} def recurse(current_dict): if isinstance(current_dict, dict): for key, value in current_dict.items(): if key in good_list: result[key] = value # 递归遍历子字典 recurse(value) elif isinstance(current_dict, list): for item in current_dict: recurse(item) # 如果current_dict不是dict或list,则无需进一步处理 recurse(data_dict) return result # 示例数据 data_dict = { "门禁管理系统": { "门禁控制器": { "系统架构": "1.系统采用 CS架构,支持 Web端登录,支持远程软硬件重启升级、维护、管理。", "联网方式": "2.★支持 TCP/IP、4G、RS485联网方式、有线与无线(WIFI)可自动切换 ,控制器支持百台到上千台设备组网,需满足大楼多门点的管理数量要求。", "安装方式": "3.★安装方式支持壁挂安装。", "开门方式": "4.★支持卡、密码、首卡、双卡、主卡/副卡、胁迫码、多卡分组、指纹识别+中心确认等开门方式。全面支持读卡器、指纹、人脸、指静脉、RS485识读设备的混合接入。" }, "出门按钮": { "安装方式": "标准 86底盒安装方式,支持常开,常闭方式", "结构": "塑料面板", "性能": "最大耐电流 1.25A电压 250V", "服务要求": "产品 需全 国联 保,享 受三 包服 务,保 修期: 3年。" }, "单门电磁锁": { "1)通电上锁,断电开锁,开门时间可调节。": "1)通电上锁,断电开锁,开门时间可调节。", "2)稳定性强,连续工作锁体无故障,使用更安全。": "2)稳定性强,连续工作锁体无故障,使用更安全。" }, "指纹仪": { "传感器类型": "1.先进半导体传感器,全面领先于普通光学识别技术,更好的判别假指纹、湿指、污损破皮手指。", "显示及提示": "2.直观的 LCD液晶显示及语音验证提示,配针孔摄像机,实现视频联动抓拍,手动布撤防,实现与监控中心门禁系统实现对讲(外置语音盒)。", "验证方式": "3.支持 IC卡、指纹、卡加密码、编号多种组合验证方式。" }, "门禁服务器": { "CPU": "1颗 intel至强系列处理器,核数≥12核,主频≥2.2GHz", "内存": "32G*2 DDR4,16根内存插槽,最大支持扩展至 2TB内存", "硬盘": "4块 600G 10K 2.5寸 SAS硬盘" } }, "摄像系统": { "佳能摄像机": { "清晰度": "1k" }, "尼康录影机": { "画质": "2k" } } } good_list = [ "门禁控制器", "出门按钮", "单门电磁锁", "指纹仪", "门禁服务器", "佳能摄像机", "尼康录影机" ] # 使用函数提取匹配的键 filtered_dict = extract_matching_keys(data_dict, good_list) # 打印结果 import pprint pprint.pprint(filtered_dict)