不使用递归技术展开列表的Python程序

不使用递归技术展开列表的Python程序

当需要展开列表而不使用递归技术时,可以使用 lambda 函数、’ sum ‘ 方法、’ map ‘ 方法和 ‘ isinstance ‘ 方法。

可以使用列表来存储异类值(即任何数据类型的数据,如整数、浮点数、字符串等)。

‘ isinstance ‘ 方法用于检查给定参数是否属于特定的数据类型。

匿名函数是一种无名称定义的函数。 一般来说,Python中的函数是使用 ‘ def ‘ 关键字定义的,但是可以使用 ‘lambda’ 关键字来定义匿名函数。 它采用一个单个表达式,但可以采用任何数量的参数。 它使用表达式并返回其结果。

map函数将给定函数/操作应用于可迭代的每个项(例如列表、元组)。 它返回一个列表作为结果。

‘ sum ‘ 方法添加可迭代的数值。

例如

下面是相同的演示 –

my_list = [[[11,[[32]],[[[53]]]],[[64],75]], [[6, 89, 99]]]
flattened_list = lambda my_list: sum(map(flattened_list,my_list),[]) if isinstance(my_list,list) else [my_list]
print("原始列表是:")
print(my_list)
print("展开的列表是:")
print(flattened_list(my_list))

输出

原始列表是 :
[[[11,[[32] ],[[[53]] ] ],[[[64],75]] ,[[6,89,99]]]
展开的列表是:
[11,32,53,64,75,6,89,99]

说明

  • 定义嵌套的列表,并在控制台上显示。
  • 使用 ‘ sum ‘ 方法将元素相加,并使用 ‘ map ‘ 方法将此应用于每个元素。
  • 将操作的结果分配给变量。
  • 它显示为控制台上的输出。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程