在Python3中
如果我有一些复杂的列表,例如:
[1, [2, 3], [4, 5, 6]]
或者看起来像:
[1, [2, [3]], 4, [5, 6]]
我确定此列表中没有重复值,但我不知道列表的确切结构是什么。
如何从这个复杂的不确定列表中提取值(递归)? 我想得到一个由这些值组成的简单列表:
[1, 2, 3, 4, 5, 6]
有没有优雅的方法来解决这个问题?
答案 0 :(得分:0)
示例:
>>> from compiler.ast import flatten
>>> flatten([0, [1, 2], [3, 4, [5, 6]], 7])
[0, 1, 2, 3, 4, 5, 6, 7]
试试这个:
import re
def Flatten(TheList):
a = str(TheList)
b,crap = re.subn(r'[\[,\]]', ' ', a)
c = b.split()
d = [int(x) for x in c]
return(d)