Python 如何从复杂列表中提取值
在蟒蛇3中 如果我有一些复杂的列表,例如:Python 如何从复杂列表中提取值,python,list,python-3.x,Python,List,Python 3.x,在蟒蛇3中 如果我有一些复杂的列表,例如: [1, [2, 3], [4, 5, 6]] 或者看起来像: [1, [2, [3]], 4, [5, 6]] 我确信这个列表中没有重复值,但我不知道列表的确切结构是什么 如何从这个复杂的不确定列表中提取值(递归)? 我想得到一个由以下值组成的简单列表: [1, 2, 3, 4, 5, 6] 有什么优雅的方法可以解决这个问题吗?示例: >>> from compiler.ast import flatten >>&g
[1, [2, 3], [4, 5, 6]]
或者看起来像:
[1, [2, [3]], 4, [5, 6]]
我确信这个列表中没有重复值,但我不知道列表的确切结构是什么
如何从这个复杂的不确定列表中提取值(递归)?
我想得到一个由以下值组成的简单列表:
[1, 2, 3, 4, 5, 6]
有什么优雅的方法可以解决这个问题吗?示例:
>>> 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)
输入:[1,2,[3]]引发:TypeError:'int'对象不是iterableand,也不适用于[[“a”,“b”,“d”]],[“c”]]更改了解决方案抱歉..em,模块编译器已在python3中删除,我已经看到了。似乎没有任何优雅(简单)的解决方案