📅  最后修改于: 2023-12-03 15:09:36.055000             🧑  作者: Mango
在Python中,我们可以使用递归函数来将嵌套的列表展平为元组列表。该程序接受一个嵌套列表作为输入,并将其转换为元组列表。
def flatten(lst):
"""
将嵌套列表展平为元组列表的函数
"""
if isinstance(lst, list):
return [item for sublist in lst for item in flatten(sublist)]
else:
return [lst]
该函数使用递归调用来遍历嵌套的列表,将其转换为元组列表。如果列表中的元素仍然是一个列表,函数将递归调用自身并将结果展开。如果元素是一个单独的值,则将其包装在一个列表中以防止其被迭代。
lst = [[1, 2], [3, [4, 5]], [6, 7, [8, [9, 10]]]]
result = flatten(lst)
print(result)
输出结果为:
[(1,), (2,), (3,), (4,), (5,), (6,), (7,), (8,), (9,), (10,)]
该程序展开了嵌套列表,并将所有子列表的值都包装在一个元组中。
使用递归函数将嵌套列表展开为元组列表是一项基本的编程任务,可以用于解决各种问题。在Python中,我们可以使用递归函数来完成此任务,并且代码非常简洁。