Python知识点11---高阶函数

提前说一点:如果你是专注于Python开发,那么本系列知识点只是带你入个门再详细的开发点就要去看其他资料了,而如果你和作者一样只是操作其他技术的Python API那就足够了。

本篇介绍一下Python的内置函数也叫高阶函数,就是Python自带可直接调用的函数,向我们日常用的len、range等等这些都是内置函数,这一部分内容本应放在函数哪一篇说,但是由于它太重要了,所有想了想单独提出来一篇

首先明确一点,我要说的不是len那些普通的内置函数,如果和我一样是做大数据开发的,那么你一定要知道我下面说的函数

Python中有一种高阶函数,和Scala中的高阶函数一样都是以方法做参数运作的,下面我给大家罗列三个最重要的高阶方法

第一个:map(fun,lis),该方法是将一个列表中每一个元素进行逐一操作,操作的过程有fun决定

bash 复制代码
list1 = [1,2,3,4,5]

def map_fun( i ) :
	return i**2

result = map(map_fun,list1)

print(result)

结果:[1, 4, 9, 16, 25]

第二个:reduce(fun,lst),该方法可以将一个列表中的每一个元素,做迭代累加,因此,它的fun需要支持两个参数进行迭代

bash 复制代码
import functools
list1 = [1,2,3,4,5]

def reduce_fun( a , b ) :
	return a + b

result = functools.reduce(reduce_fun , list1)

print(result)
结果:15

第三个:filter(fun , list) ,该方法将数据集过滤,如果fun的返回值是True,则表示符合条件保留数据,否则舍弃,该方法结果最终返回的是一个filter对象,需要使用list方法转换成列表对象

bash 复制代码
list1 = [1,2,3,4,5]

def filter_fun(x):
	return x % 2 == 0

result = filter(filter_fun,list1)
print(list(result))
结果:[2, 4]
相关推荐
兵慌码乱21 小时前
面向桌面端的资产管理系统分层架构设计与核心模块实现
python·系统架构·sqlite·pyqt5·数据库设计·桌面应用开发·mvc架构
hboot1 天前
AI工程师第三课 - 机器学习基础
python·scikit-learn·kaggle
顾林海1 天前
Agent入门阶段-编程基础-Python:流程控制
python·agent·ai编程
呱呱复呱呱1 天前
Django CBV 源码解读:一个请求是怎么找到你的 get() 方法的
python·django
曲幽1 天前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API
python·fastapi·web·translate·goldendict·libretranslate·stardict·pystardict
荣码1 天前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
兵慌码乱2 天前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理
金銀銅鐵2 天前
[Python] 体验用欧几里得算法计算最大公约数的过程
python·数学
FreakStudio2 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
用户0332126663672 天前
使用 Python 从零创建 Word 文档
python