如何在Python中使用lambda函数进行映射、筛选、规约等高级数据操作?

2023-03-14 00:00:00 筛选 映射 规约

在Python中,Lambda函数可以用于各种高级数据操作,包括映射、筛选、归约等。

1、映射(Map)
Lambda函数可以与 map() 函数一起使用,将Lambda函数应用于序列中的每个元素,并返回一个新的序列。例如,以下代码将使用Lambda函数将列表中的每个元素平方并返回新的列表:

nums = [1, 2, 3, 4, 5]
squared_nums = list(map(lambda x: x**2, nums))
print(squared_nums)   # Output: [1, 4, 9, 16, 25]

2、筛选(Filter)
Lambda函数可以与 filter() 函数一起使用,该函数将Lambda函数应用于序列中的每个元素,并仅返回使Lambda函数返回 True 的元素。例如,以下代码将使用Lambda函数从列表中筛选出所有偶数:

nums = [1, 2, 3, 4, 5]
even_nums = list(filter(lambda x: x % 2 == 0, nums))
print(even_nums)   # Output: [2, 4]

3、归约(Reduce)
Lambda函数可以与 reduce() 函数一起使用,该函数将Lambda函数应用于序列中的每个元素并使用结果递归地聚合元素,返回单个值。例如,以下代码将使用Lambda函数对列表中的所有元素求和:

from functools import reduce

nums = [1, 2, 3, 4, 5]
sum_nums = reduce(lambda x, y: x + y, nums)
print(sum_nums)   # Output: 15

这里, reduce() 函数将Lambda函数应用于列表中的每对元素,将它们相加,然后使用结果递归地聚合元素。最终,返回所有元素的总和。

相关文章