Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从复杂列表中提取值_Python_List_Python 3.x - Fatal编程技术网

Python 如何从复杂列表中提取值

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

在蟒蛇3中

如果我有一些复杂的列表,例如:

[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中删除,我已经看到了。似乎没有任何优雅(简单)的解决方案