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

如何将Python嵌套列表转换为指定结构的JSON数据

解决方案

实现逻辑

  • 从输入的元组结构中提取两个嵌套的字典对象
  • 交换两个字典的value4、value5字段值
  • 将处理后的字典封装到file键对应的列表中,完成目标结构构造
  • 按需选择输出格式即可

注意事项

你给出的期望输出中使用的None不符合标准JSON规范,标准JSON的空值为null,以下提供两种场景的实现方案。

完整代码示例

import json
import pprint

# 原始输入数据
obj = (
    [{'value1': 'a', 'value2': None, 'value3': 'abc', 'value4': 'xyz', 'value5': 'tes', 'value6': None, 'value7': None, 'value8': 'a'}],
    [{'value1': 'b', 'value2': None, 'value3': 'abc', 'value4': 'uyt', 'value5': 'tuy', 'value6': None, 'value7': None, 'value8': 'b'}]
)

# 提取两个核心字典
dict_a = obj[0][0]
dict_b = obj[1][0]

# 交换value4、value5字段值
dict_a['value4'], dict_b['value4'] = dict_b['value4'], dict_a['value4']
dict_a['value5'], dict_b['value5'] = dict_b['value5'], dict_a['value5']

# 构造目标结构
result = {"file": [dict_a, dict_b]}

# 方案1:输出标准JSON(符合规范,空值为null)
print("=== 标准JSON输出 ===")
print(json.dumps(result, indent=2, ensure_ascii=False))

# 方案2:输出与你提供的示例完全一致的格式(非标准JSON,仅用于展示,保留None)
print("\n=== 示例匹配格式输出 ===")
pprint.pprint(result, sort_dicts=False, indent=2)

运行效果

方案2的输出和你给出的期望格式完全匹配:

{ 'file': [ { 'value1': 'a',
              'value2': None,
              'value3': 'abc',
              'value4': 'uyt',
              'value5': 'tuy',
              'value6': None,
              'value7': None,
              'value8': 'a'},
            { 'value1': 'b',
              'value2': None,
              'value3': 'abc',
              'value4': 'xyz',
              'value5': 'tes',
              'value6': None,
              'value7': None,
              'value8': 'b'}]}

内容的提问来源于stack exchange,提问作者Mr. Annonymous

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 01:27:02