python filter map reduce,filter map reduce作用
高阶函数是可以作为参数传递的函数,即高阶函数。换句话说,如果一个函数的参数是一个函数,那么这个函数就是高阶函数。本文详细讲解了Python中常用的四个高阶函数,有兴趣的可以看看。
00-1010什么是高阶函数?自定义一个高阶函数。常用内置高阶函数映射函数参数描述函数示例过滤函数示例归约函数示例排序函数参数描述函数示例排序和排序汇总
目录
高阶函数是可以作为参数传递的函数,即高阶函数。换句话说,如果一个函数的参数是一个函数,那么这个函数就是高阶函数。
可以使用def关键字定制高阶函数,或者使用Python系统自带的内置高阶函数。
什么是高阶函数
在我们下面的例子中,函数senior的参数之一是函数,所以senior是高阶函数;函数十倍的自变量不是函数,所以十倍只是一个普通的函数。
#定义高阶函数
高级定义(功能,容器):
将容器中的数据依次放入函数中进行运算,
将结果返回给迭代器,最后返回给迭代器。
lst=list()
对于集装箱:中的I
lst.append(func(i))
返回iter(lst)
#定义常见的功能函数
def十倍(数字):
去卷曲器
将数据乘以10并返回结果。
退货数量* 10
#定义一个列表
lst=[10,20666, msr]
#使用高阶函数
it=高级(十倍,第一)
print(list(it)) # [100,206660, msrmsrmsrmsrmsrmsrmsrmsrmsrmsr
自定义一个高阶函数
Function map处理iterable对象中的数据,并将处理结果返回给迭代器。过滤iterable对象中的数据,并将过滤后的数据返回给迭代器。Reduce处理iterable对象中的数据并返回最终结果。Sorted对iterable对象中的数据进行排序,并返回排序结果。
常用的内置高阶函数
语法:map(function,Iterable)
map函数
函数:Function,可以是自定义函数,也可以是内置函数;
Iterable:迭代对象,迭代数据。(容器类型数据和类容器类型数据、范围对象、迭代器)
参数说明
将iterable对象中的数据逐个取出,然后放入指定的函数中进行处理。把处理后的结果依次放入迭代器,最后返回这个迭代器。
功能
将列表中的元素转成整型类型
,然后返回出来。
lst = [1, 2, 3, 4]
列表中的每一个数依次乘 2的下标索引+1 次方。使用自定义的函数,配合实现功能。
lst = [1, 2, 3, 4]
filter函数
语法:filter(function, iterable)
参数的意义和map函数一样
功能
filter用于过滤数据,将可迭代对象中的数据一个一个的放入函数中进行处理,如果函数返回值为真,将数据保留;反之不保留,最好返回迭代器。
实例
保留容器中的偶数
lst = [11, 2, 3, 34, 4, 4, 55]
reduce函数
语法:reduce(function, iterable)
参数含义与map、filter一致。
功能
计算数据,将可迭代对象的中的前两个值放在函数中做出运算,得出结果在和第三个值放在函数中运算得出结果,以此类推,直到所有的结果运算完毕,返回最终的结果。
根据功能我们就应该直到,reduce中的函数需要可以接收两个参数才可以。
实例
reduce函数使用需要先从标准库functools中导入
将列表中的数据元素组合成为一个数,
from functools import reduce
sorted函数
语法:sorted(Iterable, key=function, reverse=False)
参数说明
iterable:可迭代对象;
key:指定函数,默认为空;
reverse:排序的方法,默认为False,意为升序;
功能
如果没有指定函数,就单纯的将数据安札ASCII进行排序;如果指定了函数,就将数据放入函数中进行运算,根据数据的结果进行排序,返回新的数据,不会改变原有的数据。
注意,如果指定了函数,排序之后是根据数据的结果对原数据进行排序,而不是排序计算之后的就结果数据。
实例
将列表中的数据进行排序。
lst = [1, 23, 34, 5, 6, 342, 12, 12, 2345, -3]
还有一点就是 sorted 函数可以将数据放入函数中进行处理,然后根据结果进行排序。
lst = [1, 23, 34, 5, 6, 342, 12, 12, 2345, -3]
sort和sorted
既然有了列表的内置函数sort,为什么我们还要使用sorted函数呢?
sorted可以排序一切可迭代对象,但是sort只是列表的内置函数,只能对列表进行排序;
sorted排序返回新的数据,不改变原数据,sort改变了原数据;
sorted可以指定函数,根据函数的计算结果、按照某一种方式进行排序,但是sort只能单纯的根据数字大小和ASCII进行排序。
总结
高阶函数就是将函数作为参数的函数。
map(Function,Iterable)(将可迭代性数据中的元素一一取出放入函数中进行运算在将结果返回,最后返回的数据类型是迭代器)
filter(Function,Iterable)(过滤数据,将可迭代性数据放入函数中进行运算,结果为真将数据返回,反之舍弃,最会返回的数据类型是迭代器)
reduce(Function,Iterable)(计算数据,将可迭代型数据中的前两个元素拿出放入函数中进行运算将结果在与后一个元素进行运算,最后返回最终的结果)
sorted(Iterable,[key=Function],[reverse =Bool(False(default)/True)])(将可迭代型数据进行排序,或将可迭代型数据放入函数中进行运算将结果进行排序返回)
以上就是详解Python中高阶函数(map,filter,reduce,sorted)的使用的详细内容,更多关于Python高阶函数的资料请关注盛行IT软件开发工作室其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。