如何将列表中的字符串格式列表元素转换为实际嵌套列表?
解决方案
下面提供两种简单可行的方法来完成转换:
方法1:使用ast.literal_eval
ast.literal_eval是Python标准库中安全解析Python字面量的工具,能直接把字符串形式的列表转换成实际列表对象,还能避免eval带来的安全风险。
代码示例:
import ast l = ['[0, 1]', '[2, 3]'] result = [ast.literal_eval(item) for item in l] print(result) # 输出: [[0, 1], [2, 3]]
方法2:使用json.loads
如果你的字符串格式符合JSON规范(此场景正好匹配),也可以用json模块的loads方法解析每个字符串元素:
代码示例:
import json l = ['[0, 1]', '[2, 3]'] result = [json.loads(item) for item in l] print(result) # 输出: [[0, 1], [2, 3]]
两种方法都能解决split无法处理嵌套结构的问题,其中ast.literal_eval更适配Python特有的字面量(比如包含单引号、None这类JSON不支持的内容),json.loads则更适合跨语言兼容的场景。
内容的提问来源于stack exchange,提问作者UlyssesJA
相关产品推荐
相关产品推荐

