阜阳网站建设公司,上品设计公司,网站制作现在赚钱么,淄博企业做网站前言 高阶函数指的是能接收函数作为参数的函数或类#xff1b;python中有一些内置的高阶函数#xff0c;在某些场合使用可以提高代码的效率#xff0e; map() map函数可以把一个迭代对象转换成另一个可迭代对象#xff0c;不过在python3中#xff0c;结果都是一个map对象python中有一些内置的高阶函数在某些场合使用可以提高代码的效率 map() map函数可以把一个迭代对象转换成另一个可迭代对象不过在python3中结果都是一个map对象它是一个生成器可以通过next函数获取它的元素使用map函数的代码效率比for循环和列表生成式都要高。 参数 一个函数func可以是任何函数 一个或多个可迭代对象可以是元组、集合、列表等如果函数有多个参数就传入多个可迭代对象 # 单个参数
p map(int,{2,3,4,5})# 多个参数
def add(x,y,z):return xyzp1 map(add,[1,2,3],(4,5,6),{7,8,9}) # 注意如果是集合顺序是不固定的
# 由于是一个map对象可以转换为list对象
li list(p1) reduce() reduce函数在python3中被放置到functool模块中了要使用需要引入 参数一个函数f一个可迭代对象一个可选的初始值 功能通过对函数f的反复调用可以得到最终的积累结果 def test5(listx):from functools import reduceres reduce(add1,listx)print(res)
def add1(x,y):return xyli [1,2,4,7,8]
test5(li) filter() 过滤函数可以将可迭代对象里的每个元素依次作用于过滤函数通过返回的false和true对元素进行保留或丢弃最后返回一个filter对象该对象是一个生成器 参数
func:一个过滤函数可以是匿名函数
iterator:一个等待过滤的可迭代对象
li [1, 2, 4, 7, 8]
res filter(lambda x: x % 2 1, li)
print(list(res)) max max内置函数不仅仅是用来获取一个容器中的算术最大值事实上它可以自定义比较的规则。 # 参数
key:比较的规则
values:比较值
x max([name,age,you],keylambda x:len(x))
print(x) # name
y max(name,age,you,keylambda x:len(x))
print(y) # name min 用来获取一个容器中的最小值用法参考max. sorted sorted函数用来对容器里的元素进行重新排序并返回一个新的容器支持自定义比较规则。 # 参数
key比较规则
reverse排列规则默认False升序排列
values:第一个参数必须是一个容器
x sorted([name,age,you],keylambda x:len(x),reverseFalse)
print(x) partial 偏函数partial是一个类有时候一些函数在使用的时候要求不能有参数或者为了少传递参数典型的如flask框架中的session和g等代理对象的创建这时可以将函数转化成偏函数它的原理是将函数的对象和参数作为参数生成一个partial对象调用时传入的新参数和对象存储的参数合并后再调用原来的函数即将传参分成两步完成。 from functools import partial, partialmethod
new_func partial(get_values, *(2,3)) # 第一步先传两个参数注意需要解包
print(new_func(4)) # 再传最后一个参数 总结 partial类的作用就是将一个函数执行拆成两步先传参后执行或先传部分参后再传参调用执行sorted方法对容器元素按照指定的规则排序max和min方法按照指定的比较规则选出容器的最大最小值filter类对容器元素进行过滤reduce方法对元素迭代积累map类按照自定规则将容器里的所有元素转化成另外的元素值得到一个新的容器参考 https://docs.python.org/3/转载于:https://www.cnblogs.com/cwp-bg/p/8859260.html