Python中的内置高阶函数

简介: Python中的内置高阶函数

map函数

需要传入一个可迭代对象与函数,会返回一个迭代器对象

from collections.abc import Iterator
lst = [1, 2, 3, 4, 5]
res = map(lambda x: x ** 2, lst)
print("是迭代器对象:",isinstance(res, Iterator))
print(next(res))
print(next(res))
print(next(res))
print(next(res))
是迭代器对象: True
1
4
9
16

reduce函数(聚合函数)

reduce函数是在 functools模块里面的
参数
function:一个有两个参数的函数
sequence:是一个序列,是一些数据的集合,或者是一组数据,可迭代对象
initial:可选,初始参数
返回值:返回函数计算的结果
reduce()函数,使用function函数(有两个参数)先对集合中的sequence第 1、2 个元素进行操作,如果存在
initial参数,则将会以sequence中的第一个元素和initial作为参数,用作调用,得到的结果再与sequence中的
下一个数据用 function 函数运算,最后得到一个结果

案例:

from functools import reduce

def get_max(a: int, b: int) -> int:
    if a > b:
        return a
    return b

lst = [1, 4, 3, 6, 8, 3, 2]
res = reduce(get_max, lst)
8
res2 = reduce(lambda x, y: x + y, lst)
print(res2)
27

filter函数(过滤器函数)

filter函数的两个参数第一个是过滤方法,第二个是需要过滤的列表,将列表里面的元素依次带入函数中进行运
算,得到的结果如果为True时,将此结果作为新的filter对象保留,等待函数里面的列表执行完成后,返回最终的
值,这里的值为列表,也就是过滤掉了False的数据或元素。

返回对象类型为迭代器对象

from collections.abc import Iterator
lst = [1, 4, 7, 2, 9]
res = filter(lambda x: x > 5, lst)
print(isinstance(res, Iterator))
print(list(res))
True
[7, 9]
相关文章
|
6月前
|
Python
函数式编程与装饰器:解释什么是高阶函数,并给出几个Python内置的高阶函数示例。编写一个Python装饰器,用于记录函数执行的时间。
函数式编程与装饰器:解释什么是高阶函数,并给出几个Python内置的高阶函数示例。编写一个Python装饰器,用于记录函数执行的时间。
50 2
|
5月前
|
Python
高阶函数如`map`, `filter`, `reduce`和`functools.partial`在Python中用于函数操作
【6月更文挑战第20天】高阶函数如`map`, `filter`, `reduce`和`functools.partial`在Python中用于函数操作。装饰器如`@timer`接收或返回函数,用于扩展功能,如记录执行时间。`timer`装饰器通过包裹函数并计算执行间隙展示时间消耗,如`my_function(2)`执行耗时2秒。
34 3
|
1月前
|
Serverless Python
python高阶函数
【10月更文挑战第2天】
19 5
|
1月前
|
缓存 并行计算 算法
如何提高 Python 高阶函数的性能?
【10月更文挑战第2天】
14 3
WK
|
2月前
|
测试技术 Python
python中的高阶函数作用
Python中的高阶函数(HOFs)在编程中扮演着重要角色,通过将通用操作封装为可复用的函数,提升了代码的抽象能力和可维护性。它们是实现函数式编程的关键,支持映射、归约、过滤等模式,并简化了回调函数的使用。此外,高阶函数还用于实现装饰器,进一步增强了代码的功能,减少了冗余,提高了代码的可读性和可维护性。
WK
19 0
WK
|
2月前
|
Python
python中的高阶函数有哪些用途
在Python中,高阶函数(HOFs)接受或返回函数,增强了代码的灵活性与复用性。常见的高阶函数包括`map()`、`filter()`、`reduce()`及`sorted()`等,它们分别用于对序列应用函数、过滤元素、累积计算及排序。`reduce()`位于`functools`模块中,而`sorted()`则常与键函数配合使用。此外,`lambda`函数和装饰器也常与高阶函数结合使用,前者提供快速定义匿名函数的方式,后者则在不改变原函数的基础上添加新功能。高阶函数的应用远不限于这些特定函数,任何符合定义的函数都可视为高阶函数。
WK
22 0
|
3月前
|
分布式计算 Python
【python笔记】高阶函数map、filter、reduce
【python笔记】高阶函数map、filter、reduce
|
5月前
|
分布式计算 算法 Python
Python函数进阶:四大高阶函数、匿名函数、枚举、拉链与递归详解
Python函数进阶:四大高阶函数、匿名函数、枚举、拉链与递归详解
|
5月前
|
Python
在Python中,`map()`, `filter()` 和 `reduce()` 是函数式编程中的三个核心高阶函数。
【6月更文挑战第24天】Python的`map()`应用函数到序列元素,返回新序列;`filter()`筛选满足条件的元素,生成新序列;`reduce()`累计操作序列元素,返回单一结果。
39 3