使用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)。
