欢迎访问宙启技术站
智能推送

使用python函数将多维列表转换为一维列表

发布时间:2023-07-01 12:56:27

在Python中,我们可以使用递归函数来将多维列表转换为一维列表。下面是一个示例函数,它可以将任意多维列表转换为一维列表:

def flatten(lst):
    result = []
    for element in lst:
        if isinstance(element, list):
            result.extend(flatten(element))
        else:
            result.append(element)
    return result

这个函数的工作原理是,它遍历列表中的每个元素。如果当前元素是一个列表,那么它会使用递归调用自身来将这个子列表展开,并将展开的元素添加到结果列表中。否则,它会直接将当前元素添加到结果列表中。

下面是一个示例程序,演示了如何使用这个函数来将多维列表转换为一维列表:

lst = [1, [2, [3, 4], 5], 6, [7, [8, 9]]]
flattened_lst = flatten(lst)
print(flattened_lst)

运行结果为:

[1, 2, 3, 4, 5, 6, 7, 8, 9]

这个示例程序中,我们定义了一个多维列表lst,其中包含了各种深度的嵌套列表。然后,我们调用flatten函数来将这个多维列表展开成一维列表。最后,我们将展开后的列表打印出来。

这个函数的时间复杂度为O(n),其中n是多维列表中元素的总数。在最坏的情况下,要展开的列表是一个完全嵌套的列表,所以需要递归地访问每个元素,因此时间复杂度为O(n)。