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

如何在JSON中将指定字典重复多次添加至列表并输出?

生成包含重复字典的JSON列表解决方案

问题说明

需要将指定字典重复5次后放入列表,生成符合要求的JSON结构。原代码直接循环写入单个字典,导致输出格式不符合预期:

原代码

dict = {
        "text":"Hi",
        "feedback":""
}

for i in range(0,5):
      json.dump(dict, file)

当前错误输出结构

"items": [
        {
            "text": "Hi",
            "feedback": ""
        }
    ]

期望输出结构

"items": [
        {
            "text": "Hi",
            "feedback": ""
        },
        {
            "text": "Hi",
            "feedback": ""
        },
        {
            "text": "Hi",
            "feedback": ""
        },
        {
            "text": "Hi",
            "feedback": ""
        },
        {
            "text": "Hi",
            "feedback": ""
        }
    ]

正确实现方案

核心思路

  1. 先构建完整的JSON数据结构:外层字典包含items键,值为重复5次的目标字典组成的列表
  2. 一次性将整个结构写入文件,避免循环写入单个JSON对象导致格式错误
  3. 避免使用dict作为变量名,防止覆盖Python内置类型

正确代码

import json

# 定义模板字典,规避内置关键字命名冲突
template_item = {
    "text": "Hi",
    "feedback": ""
}

# 构建符合要求的完整数据结构
data = {
    "items": [template_item.copy() for _ in range(5)]
}

# 写入文件,indent参数用于格式化输出,增强可读性
with open("output.json", "w", encoding="utf-8") as f:
    json.dump(data, f, indent=4)

代码说明

  • 使用列表推导式[template_item.copy() for _ in range(5)]生成5个独立的字典实例(若字典包含可变对象,必须用copy避免所有元素指向同一内存地址)
  • 外层包裹{"items": ...}结构,确保输出符合指定JSON格式
  • 用with语句管理文件,自动处理文件关闭逻辑
  • indent=4让输出的JSON自动格式化,与期望结构完全匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 19:22:38