我是 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__() 方法将其转换为迭代器。将字符串转换为迭代器时,会生成每个字符。
