如何使用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]。
