# -*- encoding:utf-8 -*- def postprocess(data): """递归地转换字典中的值为列表,如果所有键对应的值都是'/', '{}' 或 '未知'""" def convert_dict(value): # 如果所有值是'/', '{}' 或 '未知' if all(v in ['/', '未知', {}] for v in value.values()): return list(value.keys()) else: # 如果不满足条件,则递归处理嵌套的字典 return {k: convert_dict(v) if isinstance(v, dict) else v for k, v in value.items()} # 递归处理顶层数据 return {key: convert_dict(val) if isinstance(val, dict) else val for key, val in data.items()} # 示例数据 data = { "第一包": { "办公电子设备": { "技术参数或采购要求": "1、服务器、台式计算机、便携式计算机、信息安全设备、喷墨打印机、激光打印机、针式打印机、液晶显示器、扫描仪、基础软件、信息安全软件、复印机、投影仪、多功能一体机、触控一体机、碎纸机、复印纸; 2、相关要求:供应商必须在市内有固定的经营场所,并提供相关经营场所的房产证明材料(自有场所要求提供房产证(不动产证)等证明文件、租赁场所要求提供房产租赁合同等证明文件)。供应商注册地不在湖北省内的,应在项目地设立分支机构,并提供相关证明材料(以工商营业执照和财政监管部门核实或备案证明材料为准)。所投货物应满足国家的强制性标准,执行有关政府采购政策,符合国家相关产业政策,合法销售、原厂原装、全新产品。在质保期内严格执行“三包”服务规定,提供设备标准现场保修、技术支持服务及备品、备件支持服务。安装的任何零配件,必须是其投标货物制造商原产或是经其认可的产品。3、报价要求:投标人的投标报价是基于市场实际成交价的基础上给予的优惠价格。每项货物内容只允许有一个报价。投标文件中的报价为投标人对采购单位提供该项货物的最高限价,且低于投标人市场成交的最低价。严格依据招标文件要求和我方投标文件的承诺,按中标价格优惠承诺向采购单位提供服务。不实行任何形式的区域限制,不在框架协议内容之外,提出任何附加条款。全面履行投标承诺,圆满完成采购单位的相关定点服务工作,确保质量,提供快捷、方便、满意的服务。", "数量": "采购清单中未具体指定数量" }, "软件及耗材": { "服务器": "/", "台式计算机": "/", "便携式计算机": "/", "信息安全设备": "/", "喷墨打印机": "/", "激光打印机": "/", "针式打印机": "/", "液晶显示器": "/", "扫描仪": "/", "基础软件": "/", "信息安全软件": "/", "复印机": "/", "投影仪": "/", "多功能一体机": "/", "触控一体机": "/", "碎纸机": "/", "复印纸": "/" } } } # 转换字典 converted_data = postprocess(data) print(converted_data)