使用递归Python程序将嵌套列表展平

使用递归Python程序将嵌套列表展平

当需要使用递归技术、简单的索引和’isinstance’方法展平给定的嵌套列表时,可以结合递归使用。

递归计算更小问题的输出,然后结合这些比特,给出更大问题的解决方案。

更多Python相关文章,请阅读:Python 教程

例子

下面是展示相同内容的演示代码 –

  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’的方法,该方法以列表作为参数。
  • 它检查列表中第一个元素的数据类型。
  • 如果匹配到一个列表,则将第一个元素与第二个到最后一个元素连接并显示。
  • 这导致嵌套列表被展平。
  • 否则,将留下第一个元素,先将列表反转,然后将正常列表组合并返回输出。
  • 在函数之外,定义了一个嵌套列表,并在控制台上显示。
  • 通过传递列表作为参数来调用该方法。
  • 输出在控制台上显示。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程