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

如何使用Python函数来展开列表?

发布时间:2023-11-12 13:45:58

在Python中,可以使用函数来展开嵌套的列表。展开列表的过程就是将嵌套的列表转换为一个扁平的列表,其中包含原列表中的所有元素。下面是一种使用递归的方法来展开列表的实现。

def flatten_list(lst):
    # 创建一个空列表来存储展开后的元素
    flattened = []
    
    # 遍历列表中的每个元素
    for item in lst:
        # 如果当前元素是一个列表,则使用递归展开该列表,并将结果添加到展开后的列表中
        if isinstance(item, list):
            flattened.extend(flatten_list(item))
        # 如果当前元素不是一个列表,则将其直接添加到展开后的列表中
        else:
            flattened.append(item)
    
    # 返回展开后的列表
    return flattened

# 测试示例
nested_list = [1, 2, [3, 4, [5, 6], 7], 8, [9]]
flattened_list = flatten_list(nested_list)
print(flattened_list)

上述代码定义了一个名为flatten_list的函数,该函数接受一个列表作为参数。函数首先创建一个空列表flattened来存储展开后的元素。然后,函数使用for循环遍历输入列表中的每个元素。

如果当前元素是一个列表,则使用递归调用flatten_list函数来展开该列表,并将结果添加到展开后的列表flattened中。递归调用的作用是对每个嵌套的子列表进行展开。

如果当前元素不是一个列表,则将其直接添加到展开后的列表flattened中。

最后,函数返回展开后的列表。

在上述示例中,nested_list是一个嵌套的列表[1, 2, [3, 4, [5, 6], 7], 8, [9]]。通过调用flatten_list(nested_list)函数,可以得到展开后的列表[1, 2, 3, 4, 5, 6, 7, 8, 9]