Python中如何将嵌套列表格式的字符串快速转换为列表类型?
Python字符串转嵌套列表最快实现方案
你给出的字符串属于带HTML转义实体的Python列表字面量格式字符串,可通过Python标准库直接完成转换,无需依赖第三方包,实现代码如下:
import ast import html # 你的原始字符串 raw_str = '''[['"A partir de pistas" es la primera actividad mejor valorada en relación al número de votos', 'R'], ['569 profesores la han importado y en general la han encontrado estupenda', 'R']]''' # 第一步:解码HTML转义实体,把"等特殊字符还原为正常字符 decoded_str = html.unescape(raw_str) # 第二步:将符合Python字面量格式的字符串转换为真实嵌套列表 nested_list = ast.literal_eval(decoded_str)
方案优势
- 安全性高:
ast.literal_eval只会解析列表、字典、字符串等Python基础字面量,不会执行任意代码,远优于直接使用eval - 性能优异:所有调用均为Python官方原生实现,运行速度远超第三方解析库或自行写字符串切割逻辑
- 兼容性好:
html.unescape可自动处理所有HTML转义实体,不需要手动写替换规则,适配更多场景
如果你的原始字符串没有带HTML转义字符,直接调用ast.literal_eval(原始字符串)即可一步完成转换。
内容的提问来源于stack exchange,提问作者Laura Galera
相关产品推荐
相关产品推荐

