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

Python中将嵌套列表转换为指定格式JSON的技术咨询

嵌套列表转指定结构JSON的实现

需求说明

现有一个嵌套列表,每个子列表包含约10000个元素,示例如下:

[['x1', 'y1', 'z1', 'w2'], ['x2', 'y2', 'z2', 'p3'], ['r3', 't3', 'n3']]

需要将每个子列表转换为指定结构的JSON:把结构中的#Number替换为子列表的各个元素,Text固定为"msg",其余字段保持固定字符串。指定JSON结构如下:

{
  "SchedTime": "string",
  "Messages": [
    {
      "Number": "#Number",
      "Text": "msg"
    }
  ],
  "keyID": "string",
  "ClientId": "string"
}

比如第一个子列表转换后结果为:

{
  "SchedTime": "string",
  "Messages": [
    {
      "Number": "x1",
      "Text": "msg"
    },
    {
      "Number": "y1",
      "Text": "msg"
    },
    {
      "Number": "z1",
      "Text": "msg"
    },
    {
      "Number": "w2",
      "Text": "msg"
    }
  ],
  "keyID": "string",
  "ClientId": "string"
}

实现代码(Python)

考虑到每个子列表元素量较大,用列表推导式生成Messages数组效率更高,再结合json模块完成序列化:

import json

def list_to_json(sub_list):
    # 生成Messages数组
    messages = [{"Number": item, "Text": "msg"} for item in sub_list]
    # 组装完整JSON结构
    result = {
        "SchedTime": "string",
        "Messages": messages,
        "keyID": "string",
        "ClientId": "string"
    }
    return json.dumps(result, indent=2)

# 示例输入
input_list = [['x1', 'y1', 'z1', 'w2'], ['x2', 'y2', 'z2', 'p3'], ['r3', 't3', 'n3']]

# 批量转换并输出
for idx, sub_list in enumerate(input_list):
    print(f"第{idx+1}个子列表转换结果:")
    print(list_to_json(sub_list))
    print("-" * 50)

注意事项

  • 若子列表元素量达到10000级,生成的JSON会比较大,建议按需写入文件而非直接打印,避免内存占用过高:
    # 写入文件示例
    with open(f"output_{idx+1}.json", "w", encoding="utf-8") as f:
        f.write(list_to_json(sub_list))
    
  • 如果需要处理更大量的子列表,可考虑分批次处理,避免一次性加载所有数据到内存。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 04:54:24