将字符串转换为列表之类的嵌套结构 [英] Convert string to nested structures like list
本文介绍了将字符串转换为列表之类的嵌套结构的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个类似
str_sample = "[[1, 2], [2.0, 0.3], ['a', 'b', [None, (1, 3)], {'c': 'd'}]]"
我当前正在使用:
exec("str2list_sample = "+ str_sample)
有没有更清洁的方法呢?
Is there any much more cleaner approach of doing this?
推荐答案
首先不要命名您的变量str
,因为它隐藏了内置变量.
Firstly don't name your variable str
as it shadows the built-in.
要解决您的问题,您可以使用 ast.literal_eval
To solve your problem you can use ast.literal_eval
>>> a = "[[1, 2], [2.0, 0.3], ['a', 'b']]"
>>> import ast
>>> ast.literal_eval(a)
[[1, 2], [2.0, 0.3], ['a', 'b']]
解决您的最新修改
>>> str_sample = "[[1, 2], [2.0, 0.3], ['a', 'b', [None, (1, 3)], {'c': 'd'}]]"
>>> ast.literal_eval(str_sample)
[[1, 2], [2.0, 0.3], ['a', 'b', [None, (1, 3)], {'c': 'd'}]]
这篇关于将字符串转换为列表之类的嵌套结构的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文