python lambda 与map、filter、reduce编程式组合使用记录

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]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值