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)


目录
相关文章
|
24天前
|
存储 算法
什么是高阶函数
什么是高阶函数
24 1
|
28天前
|
JavaScript 索引 Windows
函数柯里化
函数柯里化
24 0
|
6月前
1 # 高阶函数
1 # 高阶函数
31 0
|
6月前
|
JavaScript 前端开发 Java
函数式编程入门:理解纯函数、高阶函数与柯里化
函数式编程入门:理解纯函数、高阶函数与柯里化
62 0
|
6月前
2 # 函数柯里化
2 # 函数柯里化
15 0
|
10月前
|
存储 JavaScript 前端开发
柯里化
柯里化
55 0
高阶函数实战
高阶函数实战
52 0
|
分布式计算 Scala 开发者
高阶函数的介绍和使用 | 学习笔记
快速学习高阶函数的介绍和使用
84 0
|
存储
函数柯里化详解
函数柯里化详解
97 0
|
分布式计算 开发者 Python
高阶函数| 学习笔记
快速学习高阶函数
67 0