问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

python高阶函数有哪些

发布网友 发布时间:2022-04-22 02:32

我来回答

4个回答

热心网友 时间:2022-04-18 08:01

1、map
map()函数接受两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每一个元素上,并把结果作为新的Iterator返回。
举例,比如我们有一个函数f(x)=x*2,要把这个函数作用在一个list[1, 2, 3, 4, 5, 6, 7, 8,
9]上,就可以用map()实现。
>>> def f(x):
... return x*2
...
>>> r = map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> list(r)
[2, 4, 6, 8, 10, 12, 14, 16, 18]
所以,map()作为高阶函数,事实上它把运算规则抽象了,因此,我们不但可以计算简单的f(x)=x*2,还可以计算任意复杂的函数,比如把这个list所有的数字转为字符串:
>>> list(map(str,[1, 2, 3, 4, 5, 6, 7, 8, 9]))
["1", "2", "3", "4", "5", "6", "7", "8", "9"]
2、rece
rece是把一个函数作用在一个序列[x1, x2,
x3……]上,这个函数必须接收两个参数,rece把结果继续和序列的下一个元素做累计计算。简单来说,就是先计算x1和x2的结果,再拿结果与x3计算,依次类推。比如说一个序列求和,就可以用rece实现。
>>> from functools import rece
>>> def add(x, y):
... return x + y
...
>>> rece(add, [1, 3, 5, 7, 9])
25
也就是说,假设python没有提供int()函数,你完全可以自己写一个把字符串转化为整数的函数,而且只需要几行代码。
3、filter
用于过滤序列,和map函数类似,filter也接收一个函数和一个序列,不同于map的是,filter把传入的函数依次作用于每一个元素,然后根据返回值是True还是False决定保留还是丢弃该元素,例如,在一个list中,删掉偶数,只保留奇数,可以这么写:
def is_odd(n):
return n % 2 == 1
list(filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15]))
# 结果: [1, 5, 9, 15]
把一个序列中的空字符串删掉,可以这么写:
def not_empty(s):
return s and s.strip()
list(filter(not_empty, ["A", "", "B", None, "C", " "]))
# 结果: ["A", "B", "C"]
可见用filter()这个高阶函数,关键在于正确实现一个筛选函数。
4、sorted
无论冒泡排序还是快速排序,排序的核心是比较两个元素的大小。如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来,Python内置的sorted()函数就可以对list进行排序:
>>> sorted([36, 5, -12, 9, -21])
[-21, -12, 5, 9, 36]
此外,sorted()函数也是一个高阶函数,它还可以接收一个key函数来实现自定义的排序,例如按绝对值大小排序:
>>> sorted([36, 5, -12, 9, -21], key=abs)
[5, 9, -12, -21, 36]

热心网友 时间:2022-04-18 09:19

1、map

是Python内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。

2、rece

接收的参数和 map() 类似,一个函数 f,一个 list,但行为和 map() 不同,rece() 传入的函数 f 两个参数,rece() 对 list 的每个元素反复调用函数 f,并返回最终结果值。

3、fiilter

也可以称为过滤函数,它接收一个函数 f 和一个 list,这个函数 f 的作用是对每个元素进行判断,返回 True 或 False,filter() 根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新 list。

热心网友 时间:2022-04-18 10:54

一般来讲,常用的高阶函数有map、filter、sorted、rece四种。

map映射函数:

一般来说接收两个函数,第一个函数使用作用的函数,第二个参数是要作用的可迭代对象,返回值是一个迭代器。

filter过滤函数:

filter的第一个参数传入一个函数,第二个参数是可迭代对象,将可迭代对象里的每一个值,交给传入的函数处理,如果结果为真,就保留这个值。

如果结果为假,就去掉这个值。

sorted排序函数

也是一个高阶函数,它还可以接收一个key函数来实现自定义的排序key指定的函数将作用于list的每一个元素上,并根据key函数返回的结果进行排序。

 把一个序列中的字符串,忽略大小写排序

rece函数累积求值(此函数用的时候需要导入)

这个函数必须接收两个参数,rece把结果继续和序列的下一个元素做累积计算。

热心网友 时间:2022-04-18 12:45

高阶函数是一种将函数作为参数,或者把函数作为结果返回的函数,map函数、sorted函数就是高阶函数的典型例子。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...但是我在系统设置里面打开了开启移动梦网!求解啊。。 联想乐phone 3g w101 sd卡 在手机里可以看到 但是 放到手机里 在连接... 在游戏中成长:拼音大游戏目录 小气员看看天拼音怎么写 推荐一些好看的恋爱动漫,什么种类的都行? 湖北会计专升本考哪些科目 交行e贷通2.0 荒地承包合同我家有块荒地,有交钱的条,没有合同。今年又让村上给卖... ...嘲笑自杀的她今天站上维秘舞台成为最热头条,她是谁? 求此绿发猫耳娘出处或者名字或者任何信息,如果是同人也请注明 Python中常用的内建函数有哪些? python内置函数有哪些 python 8个常用内置函数解说 python 常用的系统函数有哪些 python常用函数包有哪些? 中石油和中石化最好的炼油厂分别是哪个 对石油的合理利用体现在哪些方面 石油炼化(化工)需要哪些化工原料?大神详细解答! 世界最早的石油炼油车间建于何时? 石油炼制与石油炼化有什么区别 石油炼制中的“五朵金花”是什么? 中石油炼油厂普通工人一般都做什么呀 石油炼化产生的副产品有哪些? 石油能提炼出哪些东西出来,提炼的过程是什么 原油、石油、炼油之间的区别是什么?专业人士请回答。 石油化工厂与炼油厂的关系是什么? 为什么中东地区到处都是石油,炼油技术却很落后? 石油化工分为两大体系,炼油和什么? 石油炼化是什么意思 石油炼化是做什么的 python 高阶函数有哪些 python中的函数使用 Python二级题目 以下关于函数的描述,正确的是: Python二级选择题:def hub(ss, x = 2.0,y = 4.0)? python中常见的运算符有哪些分类? 计算机二级python有什么用 螃蟹死后能吃吗? 螃蟹死了能吃了吗? 已经死了的螃蟹还能吃吗 大闸蟹死的能吃吗 死掉的螃蟹还能吃吗 螃蟹死了能吃吗? 螃蟹放了一晚上死了还能吃吗 死螃蟹能不能吃 冬天螃蟹死了还能吃吗 求解释上海话! 如何解释WGO提出的“治疗所有幽门螺杆菌阳性者,如... 这些缩写字母代表什么? Wgobsu是什么意思? redwgofuxwp是什么意思?