You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python入门:如何删除嵌套结构中quantity为0.000的LineItems字典

正确删除JSON中LineItems里quantity为"0.000"的条目

原代码问题分析

你的代码逻辑错误:在列表推导式中遍历的是单个LineItem字典的键(比如parent_id、productid这类),而非整个LineItems列表,导致无法筛选目标条目,所以输出空列表。

正确实现代码

import json

# 读取JSON文件并加载数据
with open("examplejson.json", 'r') as f:
    data = json.load(f)

# 遍历每个主元素,过滤LineItems
for element in data:
    # 保留quantity不等于"0.000"的条目,替换原LineItems列表
    element["LineItems"] = [item for item in element["LineItems"] if item["quantity"] != "0.000"]

# 打印处理后的结果(验证用)
print(json.dumps(data, indent=4))

# 可选:将处理后的数据写回文件,保留格式
with open("processed_examplejson.json", 'w') as f:
    json.dump(data, f, indent=4)

代码说明

  • 使用json.load(f)直接从文件对象加载数据,比json.loads(f.read())更简洁高效
  • 通过列表推导式直接筛选LineItems:遍历每个条目,判断quantity是否不等于"0.000",符合条件的保留,直接覆盖原LineItems列表
  • 用json.dumps格式化输出验证结果,json.dump写回文件时通过indent=4保持原有缩进格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 10:54:19