7.3 高阶函数

简介: 高阶函数是把函数当成参数传递的一种函数。1、map()函数,第一个参数为自定义函数,第二个参数为一个可迭代对象lt=(1,2,3,4,5)def f2(x):    return x*xml=map(f2,lt)print(type(ml))print(list...

高阶函数是把函数当成参数传递的一种函数。

1、map()函数,第一个参数为自定义函数,第二个参数为一个可迭代对象

lt=(1,2,3,4,5)
def f2(x):
    return x*x
ml=map(f2,lt)
print(type(ml))
print(list(ml))    # map 函数要想得到列表 得用 list() 转换 否则得到的是 map 对象


2、reduce 函数

传入的函数必须接受两个参数:

把可迭代对象的前两个参数作为参数的实参,传入到 f 函数中

把每次 f 运算的结果作为第一个实参,可迭代对象的下一个元素作为另一个实参,传入函数 f 中,

以此类推,最终得到结果

from functools import reduce
def f(x,y):
    return x+y
print(reduce(f,[1,2,3,4,5,],10))   # reduce 函数需引入包
# from functools import reduce


3、filter 函数

每次把可迭代对象的元素传入进去,如果返回为 True ,则保留该元素,如果返回False,则不保留

a=[1,2,3,4,5,6]
def is_odd(x):
    return x%2==1
b=list(filter(is_odd,a))    # 此处应该将 filter 函数转换成 list,否则得到的是 filter 对象
print(b)


目录
相关文章
|
2月前
|
存储 Go C++
lambda表达式与匿名函数
lambda表达式与匿名函数
20 0
|
7月前
|
存储 算法
什么是高阶函数
什么是高阶函数
147 1
1 # 高阶函数
1 # 高阶函数
65 0
|
JavaScript 前端开发 Java
函数式编程入门:理解纯函数、高阶函数与柯里化
函数式编程入门:理解纯函数、高阶函数与柯里化
182 0
|
Java Kotlin
Kotlin中匿名函数(又称为Lambda,或者闭包)和高阶函数的详解
Kotlin中匿名函数(又称为Lambda,或者闭包)和高阶函数的详解
148 0
|
存储 JavaScript 前端开发
柯里化
柯里化
77 0
|
编译器 C++
C++的匿名函数(lambda表达式)
C++的匿名函数(lambda表达式)
391 1
C++的匿名函数(lambda表达式)
|
存储 缓存 算法
【Python高级编程】—— 函数式编程总结(生成器、迭代器、匿名函数、高阶函数、返回函数、闭包、装饰器、偏函数)
Python函数式编程的一般概念及特点, 迭代器、生成器表达式、内置函数、常用高阶函数、递归与归约、实用模块和装饰器的用法, 以及避开Python严格求值顺序的变通方法、Web服务设计方法和一些优化技巧。
312 1
【Python高级编程】—— 函数式编程总结(生成器、迭代器、匿名函数、高阶函数、返回函数、闭包、装饰器、偏函数)
|
分布式计算 开发者 Python
高阶函数| 学习笔记
快速学习高阶函数
高阶函数实战
高阶函数实战
80 0

热门文章

最新文章