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

如何将数组A["a","b","c"]与B[1,2,3]合并为指定结构的JSON?

解决思路及代码实现

嘿,我来帮你搞定这个数组合并成指定JSON结构的问题!

首先得指出你当前代码的问题:你现在是把整个A数组作为data['a']的值、整个B数组作为data['b']的值,所以最终生成的JSON是把两个数组分别作为两个键对应的值,这和你想要的每个元素一一配对成字典,再组成数组的结构完全不符。

正确的实现方式

我们需要把两个数组中索引相同的元素配对,每一对都包装成{"A": 元素值, "B": 元素值}的字典,然后把所有这些字典收集到一个列表里,最后再转成JSON即可。Python里的zip()函数正好能帮我们完成元素配对的工作,它会把两个数组中位置对应的元素一一组合成元组。

下面是完整的代码示例:

import json

# 定义你的两个数组
A = ["a", "b", "c"]
B = [1, 2, 3]

# 生成目标结构的列表
result_list = [{"A": a_item, "B": b_item} for a_item, b_item in zip(A, B)]

# 转换为JSON格式(indent参数用于格式化输出,让结果更易读,可选)
json_data = json.dumps(result_list, indent=2)

print(json_data)

运行这段代码后,你会得到完全符合预期的输出:

[
  {
    "A": "a",
    "B": 1
  },
  {
    "A": "b",
    "B": 2
  },
  {
    "A": "c",
    "B": 3
  }
]

额外说明

如果你的两个数组长度不一致,zip()会以较短的数组长度为准进行配对。要是需要处理长度不同的情况,比如把缺失的元素补成None或者其他默认值,可以使用itertools.zip_longest,不过在你的场景里两个数组长度相同,用zip()就足够啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 05:15:08