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

如何在Python中从JSON提取字符串生成管道符分隔的可迭代可变对象

解决方案

你要的效果可以分两步实现,Python原生的列表完全满足「可变、可迭代」的要求,管道分隔的格式可以在需要输出的时候再生成,不需要在存入数据的时候处理。

原代码的问题

你写的示例代码有两个明显错误:

  • for i in len(db["stringLocation"]) 写法非法,len()返回的是整数,不能直接迭代,需要套一层range()
  • 列表的append()方法仅接受1个参数,没有sep参数,运行会直接抛出类型错误

正确实现代码

import json

with open("some.json", encoding="utf-8") as f:
    db = json.load(f)

# 字符串存入列表,列表天然支持可变性(增删改)、可迭代性
strings = []
for item in db["stringLocation"]:
    current_str = item["str"]
    strings.append(current_str)

# 按需生成管道分隔的格式
# 1. 纯管道分隔字符串:string0|string1|string2
pipe_str = "|".join(strings)
# 2. 你示例中带方括号、引号的格式:["string0" | "string1" | "string2"]
formatted_str = f'[ {" | ".join(f'"{s}"' for s in strings)} ]'

补充说明

  • 如果需要修改内容,直接操作strings列表即可:新增元素用strings.append("新字符串"),删除用strings.pop(索引),修改元素用strings[索引] = "替换值"
  • 如果需要遍历所有字符串,直接用for s in strings循环即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 00:45:02