当前位置 : 主页 > 编程语言 > python >

python - lambda函数、map函数、filter函数

来源:互联网 收集:自由互联 发布时间:2022-08-10
lambda函数 lambda函数是一种小的匿名函数。可接收任意数量的参数,但只能有一个表达式。 语法:lambda argument : expression 执行表达式,并返回结果 实例1: 一个lambda函数,a为参数,表达

lambda函数

lambda函数是一种小的匿名函数。可接收任意数量的参数,但只能有一个表达式。

语法:lambda argument : expression  执行表达式,并返回结果 

实例1:

一个lambda函数,a为参数,表达式为给a加10

x = lambda a: a + 10
print(x(3)) # 打印:13

实例2:

一个lambda函数,a,b为参数,表达式为 a*b

x = lambda a, b: a * b
print(x(2, 3)) # 打印:6

使用场景1:把lambda用作另一个函数内的匿名函数

使所传入的数字乘以n倍(使用相同的函数定义来生成两个函数)

def my_func(n):
return lambda a: a * n


my_double = my_func(2) # 使所传入的数字乘以2倍
a = my_double(10)
print(a) # 打印:20

my_triple = my_func(3) # 使所传入的数字乘以3倍
b = my_triple(10)
print(b) # 打印:30

 

map函数

map() 会根据提供的函数对指定序列做映射。

第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

语法:

map(function,,...)

例子:求列表中每个元素的平方

def sq(x):
return x**2
a= list(map(sq, [1, 2, 3]))
print(a) # 打印:[1, 4, 9]

b = list(map(lambda x: x**2, [1, 2, 3]))
print(b) # 打印:[1, 4, 9]

 

filter函数

filter()函数用于过滤序列,过滤掉不符合条件的元素,返回符合条件的元素组成新列表。常与lambda一起使用

语法:filter(function,iterable)

例子:求列表中的偶数

list_num = [1, 2, 3, 4, 5, 6]
print(list(filter(lambda x: x%2==0, list_num))) # 打印:[2, 4, 6]

 



上一篇:Pytest学习-框架代码分层优化
下一篇:没有了
网友评论