使用递归展平嵌套列表的Python程序
当需要使用递归技术展平给定的嵌套列表时,可以将简单的索引和“ isinstance”方法与递归一起使用。
递归计算较大问题的小位的输出,并将这些位组合以给出较大问题的解决方案。
示例
以下是相同的演示-
def flatten_list(my_list):输出结果if my_list == []:
return my_list
if isinstance(my_list[0], list):
return flatten_list(my_list[0]) + flatten_list(my_list[1:])
return my_list[:1] + flatten_list(my_list[1:])
my_list = [[1,2],[3,4], [90, 11], [56, 78], [[34,56]]]
print("清单是:")
print(my_list)
print("展平后的列表是: ")
print(flatten_list(my_list))
清单是:[[1, 2], [3, 4], [90, 11], [56, 78], [[34, 56]]]
展平后的列表是:
[1, 2, 3, 4, 90, 11, 56, 78, 34, 56]
解释
定义了一个名为“ flatten_list”的方法,该方法将列表作为参数。
它检查以查看列表中第一个元素的数据类型。
如果它与列表匹配,则第一个元素与第二个元素到最后一个元素将被串联并显示。
这导致嵌套列表被展平。
否则,将忽略第一个元素,并首先反转列表,然后合并常规列表,并作为输出返回。
在函数外部,定义了一个嵌套列表,并将其显示在控制台上。
通过将列表作为参数传递来调用该方法。
输出显示在控制台上。
以上是 使用递归展平嵌套列表的Python程序 的全部内容, 来源链接: utcz.com/z/340046.html