📜  展平嵌套列表 - Python (1)

📅  最后修改于: 2023-12-03 14:53:57.368000             🧑  作者: Mango

展平嵌套列表 - Python

在Python中,如果我们有一个嵌套的列表,也就是一个列表中包含其他列表,我们可以使用递归来展平这个嵌套列表。展平列表是指将嵌套列表中的所有元素提取出来,放到一个平坦的列表中。

使用递归展平嵌套列表

以下是一个使用递归展平嵌套列表的示例代码:

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

在这个代码中,我们定义了一个名为flatten的函数,它接受一个嵌套列表nested_list作为参数,并返回展平后的列表flattened_list。首先,我们创建一个空列表flattened_list来存储展平后的结果。

然后,我们使用for循环遍历nested_list中的每个元素。如果当前元素是一个列表,我们通过调用flatten函数对其进行递归展平,并使用extend方法将展平后的列表添加到flattened_list中。如果当前元素不是列表,我们将其直接添加到flattened_list中。

最后,我们返回展平后的列表flattened_list

示例

让我们使用一些示例来演示flatten函数的使用:

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

输出:

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

在这个示例中,我们有一个嵌套列表nested_list,其中包含了不同层次的嵌套。通过调用flatten函数,我们得到了展平后的列表result。我们可以看到,展平后的列表中包含了所有嵌套列表中的元素。

总结

通过递归,我们可以方便地展平嵌套列表,将所有元素提取出来并放到一个平坦的列表中。这在处理具有不同层次嵌套的数据时非常有用。使用递归的方法,我们可以遍历嵌套列表中的所有元素,并将它们添加到一个新的列表中,从而实现展平嵌套列表的功能。