使用递归的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("The list is :")
print(my_list)
print("The list after flattening is : ")
print(flatten_list(my_list))输出
The list is : [[1, 2], [3, 4], [90, 11], [56, 78], [[34, 56]]] The list after flattening is : [1, 2, 3, 4, 90, 11, 56, 78, 34, 56]
解释
- 定义了一个名为“flatten_list”的方法,它以列表作为参数。
- 它检查列表中第一个元素的数据类型。
- 如果它与列表匹配,则连接并显示第一个元素以及第二个元素到最后一个元素。
- 这导致嵌套列表被展平。
- 否则,第一个元素将被排除在外,列表首先被反转,然后与普通列表组合,并作为输出返回。
- 在函数外部,定义了一个嵌套列表,并在控制台上显示。
- 通过将列表作为参数传递来调用该方法。
- 输出显示在控制台上。
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP