时间:2021-05-22
前言
高阶函数指的是能接收函数作为参数的函数或类;python中有一些内置的高阶函数,在某些场合使用可以提高代码的效率.
lambda
当在使用一些函数的时候,我们不需要显式定义函数名称,直接传入lambda匿名函数即可。lambda匿名函数通常和其他函数搭配使用。
比如可以直接使用如下的lambda表达式计算当x=3时,y = x * 3 + 5的函数值。
In [1]: (lambda x: x * 3 + 5)(3)Out[1]: 14map
map函数将一个函数和序列/迭代器(可以传入多个)作为参数,应用函数到序列中的每个元素,返回一个迭代器。
In [4]: a = list(range(5))In [5]: b = list(range(2, 7))# 结合lambda匿名函数,对a列表中的每个元素,计算x * 3 + 5的函数值In [6]: list(map(lambda x: x * 3 + 5, a))Out[6]: [5, 8, 11, 14, 17]In [9]: def add(x, y): ...: return x+y# 传入多个序列,a、b两个序列中的对应元素依次传入函数add中进行计算# Note: a、b两个序列的长度可以不相等In [10]: list(map(add, a, b))Out[10]: [2, 4, 6, 8, 10]filter
filter函数(filter(func, seq))借助一个函数来测试序列/迭代器中每个元素的真假,返回一个过滤后的迭代器。
In [18]: a = list(range(5))In [19]: def isodd(number): ...: if number % 2 == 0: ...: return False ...: return True ...:In [20]: filter(isodd, a)Out[20]: <filter at 0x1a6dc460748># 过滤掉所有偶数In [21]: list(filter(isodd, a))Out[21]: [1, 3]reduce
reduce函数传入一个函数和序列/迭代器,它将滚动计算序列中元素,返回单个结果。例如要计算一个列表所有元素的和。
In [23]: from functools import reduceIn [24]: a = list(range(5))In [25]: sum = reduce((lambda x, y: x + y), a)In [26]: sumOut[26]: 10sorted
sorted(iter, key, reverse=False), 高级排序函数,可以根据key实现自定义排序。reverse=False表示默认排序结果升序。
# 比如按照a中每个字符串最后的数字大小,降序排序In [30]: aOut[30]: ['fasad_2', 'fadfc_4', '7hdc_0', 'ncsl_1', 'fai_3']In [32]: sorted(a, key=lambda x: int(x[x.rindex('_') + 1:]), reverse=True)Out[32]: ['fadfc_4', 'fai_3', 'fasad_2', 'ncsl_1', '7hdc_0']总结
以上所述是小编给大家介绍的Python中常用的高阶函数实例详解,希望对大家有所帮助,也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
高阶函数是在Python中一个非常有用的功能函数,所谓高阶函数就是一个函数可以用来接收另一个函数作为参数,这样的函数叫做高阶函数。python内置常用高阶函数:
本文总结分析了selenium2.0中常用的python函数。分享给大家供大家参考,具体如下:新建实例driver=webdriver.Firefox()此处定
Python自带的functools模块提供了一些常用的高阶函数,也就是用于处理其它函数的特殊函数。换言之,就是能使用该模块对可调用对象进行处理。functoo
reduce()函数也是Python内置的一个高阶函数。reduce()格式:reduce(func,seq[,init()])reduce()函数即为化简函数
本文主要介绍的是Python高阶函数与装饰器函数的相关内容,分享给大家,下面话不多说了,来一起看看详细的介绍吧高阶函数1、可以使用函数对象作为参数的函数2、或可