📜  展平列表 python (1)

📅  最后修改于: 2023-12-03 15:09:40.542000             🧑  作者: Mango

展平列表 Python

在Python中,列表展平是指将嵌套的列表从多维转换为一维列表的过程。展平列表的常见方法是使用递归函数。

以下是一个常见的递归函数实现,可以对任意深度的嵌套列表进行展平:

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

该函数首先检查列表中的每个元素是否是一个列表。如果是列表,则递归地调用flatten_list函数以展平嵌套列表。否则,将元素添加到展平列表中。

以下是该函数的使用示例:

nested_list = [1, 2, [3, 4, [5, 6], 7], 8, [9, 10]]
flat_list = flatten_list(nested_list)
print(flat_list)  # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

该示例演示了如何使用递归函数flatten_list将多维列表nested_list展平为一维列表flat_list

除了递归函数之外,Python还提供了一些其他方法来展平列表。例如,可以使用列表推导或嵌套的for循环来展平列表。

以下是使用列表推导的一个例子:

nested_list = [1, 2, [3, 4, [5, 6], 7], 8, [9, 10]]
flat_list = [element for sublist in nested_list for element in (sublist if isinstance(sublist, list) else [sublist])]
print(flat_list)  # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

该例子中,使用嵌套的for循环和列表推导将多维列表展平为一维列表。

无论使用哪种方法,列表展平是Python中常用的操作之一,特别是在处理嵌套结构的数据时。