如何将含列表格式的字符串列表转换为列表的列表?
把字符串格式的列表转换成嵌套列表的解决方案
嘿,我来帮你搞定这个问题!要把这些看起来像列表的字符串转换成真正的Python嵌套列表,有几种靠谱的方法,我给你详细拆解:
方法一:使用ast.literal_eval(推荐,安全可靠)
这是最稳妥的方式,因为ast.literal_eval专门用来解析Python的字面量(比如列表、字典、数字、字符串等),而且不会执行任何恶意代码,比直接用eval安全太多。
具体代码实现如下:
import ast old_list = ['[1,2,m]','[4.1,3.5,5]','[x,y,z]', '["t","u","v"]'] new_list = [ast.literal_eval(item) for item in old_list] print(new_list)
运行这段代码后,你就能得到期望的输出:
[[1, 2, 'm'], [4.1, 3.5, 5], ['x', 'y', 'z'], ['t', 'u', 'v']]
它会自动识别字符串里的数字(整数、浮点数)和标识符(比如m、x),把它们转换成对应的Python类型。
方法二:使用eval(不推荐,存在安全风险)
如果你处理的是完全可信的输入(比如自己写的固定数据),也可以用eval来实现,但一定要注意:eval会执行传入的任何代码,如果输入不可信,可能会导致安全问题!
代码示例:
old_list = ['[1,2,m]','[4.1,3.5,5]','[x,y,z]', '["t","u","v"]'] new_list = [eval(item) for item in old_list] print(new_list)
这段代码也能得到相同的结果,但强烈建议在非必要情况下不要使用eval。
总结一下,优先选择ast.literal_eval,既安全又能完美满足你的需求~
内容的提问来源于stack exchange,提问作者user10963913
相关产品推荐
相关产品推荐

