You need to enable JavaScript to run this app. Python3 如何将带av_labels字段的嵌套字典转换为指定字典-of-列表?
优惠活动
大模型
产品
解决方案
定价
更多

Python3 如何将带av_labels字段的嵌套字典转换为指定字典-of-列表?

Python3 实现嵌套字典结构适配转换

核心转换逻辑

转换过程不修改顶层哈希类字段的取值与顺序,仅针对av_labels字段做结构重构:

  • 遍历原av_labels下的每一组杀毒软件条目
  • 直接提取二级字典中result键对应的取值,剥离冗余的二级字典层级
  • 将每个条目组装为[杀毒软件名称, 检测结果值]的子列表,最终组成二维列表

可直接运行的实现代码

def transform_input(origin_input):
    # 保留顶层非av_labels的原有字段
    output = {key: val for key, val in origin_input.items() if key != "av_labels"}
    # 转换av_labels为目标嵌套列表结构
    output["av_labels"] = [
        [av_vendor, av_detail["result"]]
        for av_vendor, av_detail in origin_input["av_labels"].items()
    ]
    return output

效果验证

将前述样例输入传入上述函数,得到的输出完全匹配目标结构:

  • 三个哈希字段(md5/sha1/sha256)的取值、顺序与输入保持完全一致
  • av_labels从二级嵌套字典转为二维列表,每个子列表第一个元素为杀毒软件名,第二个元素为对应的检测结果,None值直接保留无需额外处理
  • 无冗余的result嵌套键

注意事项

  • Python3.7及以上版本的原生字典会默认保留插入顺序,转换后的二维列表元素顺序和原输入的条目顺序完全一致;如果需要在更早版本的Python环境下也保持固定顺序,可将原av_labels的存储结构替换为collections.OrderedDict
  • 该实现无额外第三方依赖,Python3原生环境即可直接运行

内容的提问来源于stack exchange,提问作者h4n1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.01 00:06:03