📅  最后修改于: 2023-12-03 15:07:46.326000             🧑  作者: Mango
在 Python 中,lambda 是一种匿名函数,允许在运行时定义简短的函数。lambda 函数可以像普通函数一样使用,但通常用于一些简单的操作中,例如映射函数(map)、筛选函数(filter)和归约函数(reduce)。
map() 函数可以将一个函数应用于一个可迭代对象(如列表、元组、集合、字符串等)的每个元素,并返回一个新的可迭代对象,其中包含结果。使用 lambda 函数作为参数,可以更方便地创建映射函数。下面是一个简单的例子:
# 使用 lambda 映射函数将列表中的每个元素乘以 2
my_list = [1, 2, 3, 4, 5]
new_list = map(lambda x: x * 2, my_list)
print(list(new_list)) # [2, 4, 6, 8, 10]
在这个例子中,lambda 函数将每个元素乘以 2。
filter() 函数可以根据给定的函数筛选可迭代对象中的元素,并返回一个新的可迭代对象,其中包含筛选后的元素。使用 lambda 函数作为参数,可以更方便地创建筛选函数。下面是一个简单的例子:
# 使用 lambda 筛选函数从列表中选出偶数
my_list = [1, 2, 3, 4, 5]
new_list = filter(lambda x: x % 2 == 0, my_list)
print(list(new_list)) # [2, 4]
在这个例子中,lambda 函数检查每个元素是否为偶数。
reduce() 函数可以使用给定的函数依次对可迭代对象中的元素进行归约,并返回一个单一的结果。使用 lambda 函数作为参数,可以更方便地创建归约函数。下面是一个简单的例子:
# 使用 lambda 归约函数计算列表中所有元素的和
from functools import reduce
my_list = [1, 2, 3, 4, 5]
sum = reduce(lambda x, y: x + y, my_list)
print(sum) # 15
在这个例子中,lambda 函数将两个元素相加,reduce() 函数将结果依次应用于列表的每个元素。
以上就是在 Python 中使用 lambda 映射函数的简单介绍。lambda 函数虽然可以方便地创建简单的函数,但也需要谨慎使用,尤其是在代码可读性和可维护性方面。