无需使用递归即可平铺列表的Python程序

当需要不使用递归技术而将列表展平时,可以使用lambda函数,“ sum”方法,“ map”方法和“ isinstance”方法。

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

'isinstance'方法检查以查看给定参数是否属于特定数据类型。

匿名函数是没有名称定义的函数。通常,Python中的函数是使用'def'关键字定义的,而匿名函数是通过'lambda'关键字定义的。它采用单个表达式,但可以采用任意数量的参数。它使用该表达式并返回其结果。

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

“求和”方法将迭代器中存在的数值相加。

示例

以下是相同的演示-

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”方法将其应用于每个元素。

  • 该操作的结果分配给一个变量。

  • 它在控制台上显示为输出。