1、lamdba 表达式
lambda
表达式是一种匿名函数,在需要函数的地方快速定义一个简单的函数。
语法:lamdba: arguments: expression
示例:lamdba x: x**2 定义一个接受参数x的函数,返回x的平方匿名函数
2、map函数
map
函数将一个函数应用于可迭代对象(如列表、元组等)的每个元素,并返回一个新的可迭代对象,其中包含应用函数后的结果。即对 iterator 中的每个元素调用 function 函数,并返回 function 函数的返回值。
语法:map(function, iterable)
示例:
numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(lambda x: x**2, numbers))
print(squared_numbers)
#输出结果
# [1, 4, 9, 16, 25]
3、reduce
函数
在 Python 3 中,reduce
函数被放置在functools
模块中。它将一个二元函数逐步应用于可迭代对象的元素,将其缩减为一个单一的值。例如:function 中有 2 个参数,reduce() 函数会先将参数序列中的前两个元素做 function 操作,然后将返回的结果再与参数序列中的第 3 个元素做function 操作。
语法:reduce(function, iterable[, initializer])
示例:
from functools import reduce
numbers = [1, 2, 3, 4, 5]
sum_of_numbers = reduce(lambda x, y: x + y, numbers)
print(sum_of_numbers)
#输出结果:现将1+2的结果作为返回值,再与第三个要素累加
# 15
4、filter
函数
filter
函数用于过滤可迭代对象中的元素,返回一个新的可迭代对象,其中只包含那些使给定函数返回True
的元素。即对 iterator 中的每个元素调用 function 函数,function 函数会返回 True 或 False,filter 接收的是返回为 True 的结果。
语法:filter(function, iterable)
示例:
numbers = [1, 2, 3, 4, 5]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)
#输出结果
# [2, 4]