- 简单的 lambda 函数
x=1
f=lambda x: x + 1
print(f(1))
这个简单的 lambda 函数接受一个参数 x,并返回 x+1 的结果。
- 将 lambda 函数赋值给变量
add = lambda x, y: x + y
print(add(1,2))
这个 lambda 函数接受两个参数 x 和 y,并返回它们的和。
- 将 lambda 函数用于 map 函数
map 函数可以将一个函数应用于一个迭代器中的每个元素,并返回一个新的迭代器。lambda 函数常常用于 map 函数中。
lst = [1, 2, 3, 4, 5]
new_lst = list(map(lambda x: x * 2, lst))
print(new_lst)
这个 lambda 函数接受一个参数 x,并返回 x*2 的结果。map 函数将 lambda 函数应用于列表 lst 中的每个元素,并将结果存储在一个新列表 new_lst 中。
- 将 lambda 函数用于 filter 函数
filter 函数可以使用一个函数来过滤一个迭代器中的元素。lambda 函数常常用于 filter 函数中。
lst = [1, 2, 3, 4, 5]
new_lst = list(filter(lambda x: x % 2 == 0, lst))
这个 lambda 函数接受一个参数 x,并返回 x 是否是偶数的布尔值。filter 函数将 lambda 函数应用于列表 lst 中的每个元素,并仅将返回 True 的元素存储在新列表 new_lst 中。
- 将 lambda 函数用于 sorted 函数
sorted 函数可以使用一个函数来排序一个列表。lambda 函数常常用于 sorted 函数中。
lst = [(2, 'b'), (1, 'a'), (3, 'c')]
new_lst = sorted(lst, key=lambda x: x[0])
这个 lambda 函数接受一个参数 x,并返回元组 x 中的第一个元素。sorted 函数将 lambda 函数应用于列表 lst 中的每个元素,并按照返回的结果对元素进行排序。
6.作为函数参数传递
在 Python 中,函数可以作为参数传递给其他函数。lambda 表达式可以用于这种情况,以便快速定义并传递一个匿名函数。例如,可以使用 lambda 表达式来排序列表:
fruits = ['apple', 'banana', 'cherry', 'durian']
sorted_fruits = sorted(fruits, key=lambda x: len(x))
print(sorted_fruits) # ['apple', 'banana', 'cherry', 'durian']
在这个例子中,lambda 表达式 lambda x: len(x) 用于计算列表中每个元素的长度,并将其作为排序的关键字。
7.用于返回函数
在 Python 中,函数可以作为另一个函数的返回值。lambda 表达式可以用于快速定义并返回一个匿名函数。例如,可以定义一个函数,该函数返回一个 lambda 表达式,该 lambda 表达式返回传递的参数的平方值:
def get_squared_function():
return lambda x: x**2
f = get_squared_function()
print(f(2)) # 4
在这个例子中,get_squared_function 函数返回一个 lambda 表达式 lambda x: x**2,该 lambda 表达式接受一个参数并返回其平方值。然后,返回的函数赋值给 f 变量,并在调用时用 f(2) 的方式使用。
8、用于条件表达式,与4一样
lambda 表达式还可以用于条件表达式中,以便根据条件返回一个值。例如,可以使用 lambda 表达式来检查列表中的每个元素是否为奇数:
numbers = [1, 2, 3, 4, 5]
odd_numbers = list(filter(lambda x: x % 2 != 0, numbers))
print(odd_numbers) # [1, 3, 5]
在这个例子中,lambda 表达式 lambda x: x % 2 != 0 用于检查列表中的每个元素是否为奇数,并返回一个布尔值。然后,filter 函数用于筛选列表中符合条件的元素。
9、使用Lambda函数对列表进行归约,计算所有元素的和
from functools import reduce
lst = [1, 2, 3, 4, 5]
total = reduce(lambda x, y: x + y, lst)
print(total) # 15
欢迎评论区补充




