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

Python中如何将嵌套列表的字符串表示转换为实际list数据结构

Python将嵌套列表形式的字符串转为实际list的实现方法

你可以通过以下几种常见方案实现需求,以下方示例变量为例:

k = "['A',['B','C'],'D']"

方案1:使用ast.literal_eval(最推荐)

这是最安全、适配性最高的方案,ast.literal_eval只会解析Python合法的字面量结构,不会执行任意代码,没有安全风险,天然支持嵌套列表、嵌套字典等复杂字面量结构。
示例代码:

import ast

result = ast.literal_eval(k)
# 若需要得到你示例中换行格式化的打印效果,可配合pprint模块使用
from pprint import pprint
pprint(result)
# 输出:
# ['A',
#  ['B', 'C'],
#  'D']

方案2:使用eval(不推荐,仅作参考)

该方法可以直接解析得到目标列表,但存在极高的安全风险:如果字符串来源不可信,会执行字符串中包含的任意恶意代码,仅可在完全确认字符串来源安全的场景下临时使用。
示例代码:

result = eval(k)
print(result)
# 输出:['A', ['B', 'C'], 'D']

方案3:使用json.loads(适配场景有限)

JSON解析器也可以完成转换,但JSON规范要求字符串必须使用双引号,因此需要先把字符串中的单引号替换为双引号,且仅可在列表内部元素无单引号、无Python特有类型的场景下使用。
示例代码:

import json

result = json.loads(k.replace("'", '"'))
print(result)
# 输出:['A', ['B', 'C'], 'D']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 03:36:08