python函数式编程

在python中函数式编程主要由几个函数的使用构成:lambda(),map(),reduce(),filter()。

1. lambda函数 对简单的功能定义为行内函数,类似于MATLAB中的匿名函数。

f = lambda x : x+2 #定义函数f(x)=x+2
g = lambda x,y : x+y#定义函数g(x,y)=x+y
2.map函数  我们首先定义一个函数,然后再用map()命令将函数逐一应用到map列表中的每一个元素,最后返回一个数组。map()

命令接收多参数的函数,如

map(lambda x , y : x*y , a , b)#表示将两个列表中的元素对应相乘,把结果返回给新列表。
map(lambda x : x+2 ,a)#要将列表中每个元素加2,map函数仅仅是创建一个待运行的命令容器,只有其他函数调用它时才会返回函数结果。
b = list(b)
3.reduce函数 用于递归计算
from fuctools import reduce
reduce(lambda x,y : x*y,range(1,101))#range(1,101)相当于给出了一个列表,元素是1~100这100个整数。lambda x,y:x*y构造了一个二元函数,返回两个参数的乘积。reduce命令首先将列表的前两个元素作为函数的参数进行运算,然后将运算结果与第三个数字作为函数的参数,然后再将运算结果与第四个数字作为函数的参数,依次类推,直到列表结束,返回最终结果。
4.filter函数 用来筛选出列表中符合条件的元素
b = filter(lambda x:x>5 and x<8,range(10))
b = list(b)#返回6,7





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值