Python 从多类型嵌套列表生成平面列表

Python 从多类型嵌套列表生成平面列表,python,Python,可能重复: 我有以下清单-- 我需要把它弄平-- 为此,我目前正在使用for循环和isinstance,循环数为#nests-1 使嵌套列表扁平化的最简单方法是什么?多谢各位 在这里可以找到一个类似的问题,该问题涉及从嵌套列表(仅)生成平面列表:。从 EDIT:这里的iterable测试非常简单,可以通过检查\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu>或集合的实例来改进。iterable抽象基类 编辑2:@

可能重复:

我有以下清单--

我需要把它弄平--

为此,我目前正在使用
for
循环和
isinstance
,循环数为
#nests-1

使嵌套列表扁平化的最简单方法是什么?多谢各位

在这里可以找到一个类似的问题,该问题涉及从嵌套列表(仅)生成平面列表:。

EDIT:这里的iterable测试非常简单,可以通过检查
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu>或
集合的实例来改进。iterable
抽象基类

编辑2:@ChristopheD完全正确,这是一个骗局,因此请转到链接问题。

尝试以下方法:

def flat(mlist):
    result = []
    for i in mlist:
        if type(i) is list:
            result.extend(flat(i))
        else:
            result.append(i)
    return result

嗨,我很难理解这句话“在平坦(榆树)的relm”。递归在这里是如何工作的,每次迭代后它是否会“产生relm”行?有人能解释一下我用的是干跑步吗?请我们能像这样处理它。。。。。。。。。。。。try:#it_is=iter(x)##如果它不可编辑,则按原样返回列表#除了TypeError:#产生x
[1,2,3,4,5,6,7]
def flatten(iterable):
    """Recursively iterate lists and tuples.
    """
    for elm in iterable:
        if isinstance(elm, (list, tuple)):
            for relm in flatten(elm):
                yield relm
        else:
            yield elm
def flat(mlist):
    result = []
    for i in mlist:
        if type(i) is list:
            result.extend(flat(i))
        else:
            result.append(i)
    return result