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

如何将Python中存储为字符串的嵌套列表还原为原生列表格式

Python字符串格式嵌套列表还原方案

问题说明

现有对应小型图像数据的Python嵌套列表,存储前被转换为字符串格式,示例如下:

'[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]'
需要无需自行编写解析器的方案,将其还原为原生嵌套列表格式。

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

ast.literal_eval是Python标准库内置的安全字面量解析工具,仅会识别Python原生字面量结构(列表、字典、数字、字符串、元组等),不会执行任意代码,安全性远高于eval,完全满足需求:

import ast

# 填入你的列表字符串
list_str = '[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], ...(省略其余内容)]'
# 直接转换为嵌套列表
nested_list = ast.literal_eval(list_str)

转换完成后nested_list就是原生的嵌套列表结构,可直接作为图像数据使用。

方案2:使用json.loads(可选)

你提供的字符串格式完全符合JSON数组的语法规范,也可以通过标准库json模块完成转换:

import json

list_str = '[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], ...(省略其余内容)]'
nested_list = json.loads(list_str)

注意事项

  • 禁止直接使用eval()进行转换,eval()会执行字符串内的任意代码,若字符串来源不可信存在严重安全隐患。
  • 两种方案均为Python标准库内置功能,无需安装任何第三方依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 16:15:01