Python中如何将类列表格式的字符串转换为标准字符串列表
报错原因
你调用json.loads()报错是因为待解析的字符串不符合JSON语法规范:JSON数组中的字符串值必须用双引号包裹,你当前的字符串里point、contextual等元素都是没有引号的裸字符串,JSON解析器无法识别合法值,因此抛出了对应错误。
另外注意不要使用str作为自定义变量名,会覆盖Python内置的字符串类型,可能引发后续的未知错误。
解决方案
方法1:直接字符串处理(最简单高效)
通过裁剪首尾方括号、按逗号分割、去除元素前后空白的方式直接生成目标列表,无需引入额外依赖:
# 替换为你的原始字符串变量 origin_str = "[point, contextual, point]" result = [item.strip() for item in origin_str.strip('[]').split(',')]
执行后result就是你需要的["point", "contextual", "point"]格式列表。
方法2:补全引号后用JSON解析
如果你的实际场景中元素可能包含特殊字符,希望用标准JSON解析能力处理,可以先通过正则给所有元素补全双引号,再调用json.loads():
import json import re origin_str = "[point, contextual, point]" # 给所有连续字符元素补充双引号 fixed_str = re.sub(r'(\w+)', r'"\1"', origin_str) result = json.loads(fixed_str)
内容的提问来源于stack exchange,提问作者Fabio
相关产品推荐
相关产品推荐

