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("The original list is : ")
print(my_list)
print("The flattened list is :")
print(flattened_list(my_list))输出
The original list is : [[[11, [[32]], [[[53]]]], [[64], 75]], [[6, 89, 99]]] The flattened list is : [11, 32, 53, 64, 75, 6, 89, 99]
解释
- 定义了一个嵌套列表,并在控制台上显示。
- 使用 'sum' 方法将元素加起来,并使用 'map' 方法将其应用于每个元素。
- 此操作的结果分配给一个变量。
- 它在控制台上显示为输出。
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP