Skip to main content
 首页 » 编程设计

python之尝试解析字符串并将其转换为嵌套列表

2025年05月04日25傻小

我是 Python 的新手并且遇到了这个问题:

尝试从这样的字符串开始:
mystring = '[ [10, 20], [20,50], [ [0,400], [50, 328], [22, 32] ], 30, 12 ]'

到由字符串表示的嵌套列表。基本上,相反的 海峡(我的名单)

如果我尝试明显的选择
列表(我的字符串)

它将每个字符分隔成不同的元素,我失去了嵌套。

是否有我在文档中遗漏的列表或 str 类型的属性(我使用 Python 3.3)?或者我是否需要编写执行此操作的函数?

此外,您将如何实现该功能?我不知道创建任意深度的嵌套列表需要什么......

谢谢,

--路易斯·H.

请您参考如下方法:

调用 ast.literal_eval字符串上的函数。

要自己实现它,可以使用递归函数将字符串转换为表示列表的字符串列表。然后将这些字符串传递给函数,依此类推。

If I try the obvious solution list(mystring) it separates each character into a different element and I lose the nesting.

这是因为 list() 实际上从 iterable 中生成了一个列表, list() 使用字符串的 __iter__() 方法将其转换为迭代器。将字符串转换为迭代器时,会生成每个字符。