如何使嵌套列表成为一维的?

2024-04-20 05:37:04 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在不使用模块的情况下将嵌套列表制作成一维的? 示例:

input : [[[2]], [4, [5, 6, [6], 6, 6, 6], 7]
output: [2, 4, 5, 6, 6, 6, 6, 6, 7]

我写了函数

result = []
def flat_list(array):
    for x in array:
        if isinstance(x, list):
            flat_list(x)
        else:
            result.append(x)
            print(x)
    return result

我想只使用函数,不使用任何外部变量。谢谢


Tags: 模块函数in示例列表forinputoutput
1条回答
网友
1楼 · 发布于 2024-04-20 05:37:04

您可以使用递归函数执行此操作,如下所示:

inList = [[[2]], [4, [5, 6, [6], 6, 6, 6], 7]]
def flatten(l):
    r = []
    for elem in l:
        if isinstance(elem,list):
            r += flatten(elem)
        else:
            r.append(elem)
    return r
print(flatten(inList))

结果:

[2, 4, 5, 6, 6, 6, 6, 6, 7]

相关问题 更多 >