Python⾼阶函数

定义:

把函数作为参数传⼊,这样的函数称为⾼阶函数,⾼阶函数是函数式编程的体现。函数式编程就是指这 种⾼度抽象的编程范式。

体验⾼阶函数

需求:⼀个函数完成计算任意两个数字的绝对值之和

 方法一:

def add_num(a, b):return abs(a) + abs(b)
result = add_num(-1, 2)
print(result) # 3

⽅法二:

def sum_num(a, b, f):return f(a) + f(b)
result = sum_num(-1, 2, abs)
print(result) # 3

内置⾼阶函数

 1 map()

map(func, lst),将传⼊的函数变量func作⽤到lst变量的每个元素中,并将结果组成新的列表(Python2)/ 迭代器(Python3)返回

 需求:计算 list1 序列中各个数字的2次⽅。

list1 = [1, 2, 3, 4, 5]
def func(x):return x ** 2
result = map(func, list1)
print(result) # <map object at 0x0000013769653198>
print(list(result)) # [1, 4, 9, 16, 25]

2 reduce()

reduce(func(x,y),lst),其中func必须有两个参数。每次func计算的结果继续和序列的下⼀个元素做累 积计算。

注意:reduce()传⼊的参数func必须接受2个参数。

 需求:计算 list1 序列中各个数字的累加和。 

import functools
list1 = [1, 2, 3, 4, 5]
def func(a, b):return a + b
result = functools.reduce(func, list1)
print(result) # 15

3 filter()

filter(func, lst)函数⽤于过滤序列, 过滤掉不符合条件的元素, 返回⼀个 filter 对象,。如果要转换为列表, 可以使⽤ list() 来转换。

list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
def func(x):return x % 2 == 0
result = filter(func, list1)
print(result) # <filter object at 0x0000017AF9DC3198>
print(list(result)) # [2, 4, 6, 8, 10]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/616172.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

8. 《自动驾驶与机器人中的SLAM技术》基于保存的自定义NDT地图文件进行自动驾驶车辆的激光定位

目录 1. 为 NDT 设计一个匹配度评估指标&#xff0c;利用该指标可以判断 NDT 匹配的好坏。 2. 利用第 1 题的指标&#xff0c;修改程序&#xff0c;实现 mapping 部分的回环检测。 3. 将建图结果导出为 NDT map&#xff0c;即将 NDT 体素内的均值和协方差都存储成文件。 4.…

Redis的安装与在spring中使用

1. Redis入门 1.1 Redis简介 Redis是一个基于内存的key-value结构数据库。Redis 是互联网技术领域使用最为广泛的存储中间件。 官网&#xff1a;Redis 中文网&#xff1a;Redis中文网 key-value结构存储&#xff1a;&#xff08;哈希&#xff09;时间o1 主要特点&#xff1…

在线旅游2024:新旧交锋,暗流涌动

旅游热带来的泼天富贵&#xff0c;还在继续传递。 2023年大火的“烧烤之都”淄博曾是最大受益者&#xff0c;小烧烤风靡整个夏天。最近的哈尔滨凭借冰雪和异域特色一举成为新晋“网红旅游城市”&#xff0c;元旦假期的游客接待量和旅游总收入双双达到历史峰值。 “网红城市”…

stl中的list模拟实现

目录 一、list的简单介绍二、写出节点的代码三、模拟实现迭代器&#xff08;重点&#xff09;1、list中的迭代器是怎么实现的2、编写iterator类的代码3、对const_iterator进行理解4、编写const_iterator类的代码5、对iterator类和const_iterator类进行合并 四、list类进行代码实…

Git基础操作:git stash 相关命令举例讲解

git stash 是 Git 提供的一个强大的工具&#xff0c;它允许你临时保存&#xff08;或“暂存”&#xff09;当前工作目录和索引&#xff08;暂存区&#xff09;的改动&#xff0c;从而可以切换分支或执行其他操作而不影响当前的工作状态。下面是 git stash 的一些常用命令及其解…

VLAN 详解二(VLAN 基础配置)

VLAN 详解二&#xff08;VLAN 基础配置&#xff09; VLAN 配置其实是非常简单的&#xff0c;但是想要学得比较精还是需要花费一些功夫的&#xff0c;根据不同的 VLAN 划分方式用不同的配置方法&#xff0c;但其实配置方法基本上都大同小异。 下面就以在实际网络中最常用的基于…

js 数据回调 异步 Promise

回调顺序 JavaScript 函数按照它们被调用的顺序执行。而不是以它们被定义的顺序。 js数据顺序问题 <!DOCTYPE html> <html> <body><h2>JavaScript 函数序列</h2><p>JavaScript 函数按照它们被调用的顺序执行。</p><p id"de…

K8S测试pod

背景 用于测试ping&#xff0c;curl等类型的pod Centos pod apiVersion: apps/v1 kind: Deployment metadata:name: centos-deploymentlabels:app: centos spec:replicas: 1selector:matchLabels:app: centostemplate:metadata:labels:app: centosspec:containers:- name: c…

名片数字化,真的有强大,如何获得免费的官微名片?

名片不仅仅是名片&#xff0c; 还承载着数据和策略&#xff0c; 精准地连接你和你的客户&#xff1b; 不同于传统名片&#xff0c;官微名片是一种数字化的升级&#xff0c;承载着数据的搜集和互动&#xff0c;让你更精准的连接客户。用户访问名片时&#xff0c;可以直接通过名…

智慧厂区烟火识别系统应用

在当今的智能制造行业中&#xff0c;安全管理已成为优先考虑的重要议题。集度汽车公司在其实验室场区引入了一项创新技术——富维图像厂区烟火识别系统。这个项目的核心是利用先进的烟火识别系统&#xff0c;保障厂区的安全与稳定运行。 系统特点 烟火识别系统的准确率高和误报…

基于Docker Compose单机实现多级缓存架构2024

文章目录 一、环境参考二、专栏简介三、扩展 一、环境参考 NameVersionDocker Desktop for Windows4.23.0Openjdk8MySQL8.2.0Redis7.2Canal1.1.7OpenResty1.21.4.3-3-jammy-amd64Lua-Caffeine- 二、专栏简介 多级缓存实现过程比较长&#xff0c;将拆分为多个文章分步讲述。如…

弈 - Codeql 自动运行和项目监控工具

前言 代码审计总是离不开一些神器&#xff0c;笔者常用 Codeql[1] 这款工具辅助挖洞。当我每写一个规则都需要对其它项目手动运行检查一遍&#xff0c;效率很低&#xff0c;再加上 lgtm[2] 的关闭&#xff0c;此项目诞生了 --- 弈(Yi)[3] 。 CVE-2021-43798 这里以 Graana 的…

mysql主从复制教程

1、介绍 1.1 是什么 主从复制&#xff0c;是用来建立一个和主数据库完全一样的数据库环境&#xff0c;称为从数据库 1.2 有什么用 数据备份&#xff1a;通过主从复制&#xff0c;可以将主数据库的数据复制到一个或多个从数据库中&#xff0c;以实现数据备份和灾难恢复。当主…

认识异常及异常处理机制之try-catch

异常类 什么是异常&#xff1f;就像人会犯错一样&#xff0c;程序在运行的过程中也会犯错。程序中的错误有两类&#xff0c;一类称为Error&#xff08;错误&#xff09;&#xff0c;另一类称为Exception&#xff08;异常&#xff09;。Error类和Exception类都为Throwable的子类…

git: Updates were rejected because the tip of your current branch is behind

一、报错含义 由于本地分支的tip落后远程分支&#xff0c;push操作被拒绝。 二、产生原因 我再本地拉去了新的分支并未同步到远程仓库&#xff0c;在新分支进行开发&#xff0c;由于前几天同步也创建了该分支并同步到了远程仓库&#xff0c;导致我本次push失败 三、解决方…

解决uni-app小程序获取路由及路由参数

代码: this.id = this.$route.query.id;错误信息: 解决方案: // 获取query对象// #ifdef H5this.id = this.$route

部署ATS(Apache Traffic Server)和Nginx正向代理服务性能对比

部署ATS&#xff08;Apache Traffic Server&#xff09;和Nginx正向代理服务&性能对比 1. 正向代理的用途2. ATS(Apache Traffic Server)正向代理服务器部署3. Nginx正向代理服务器部署4. 性能对比 1. 正向代理的用途 正向代理一般是用于内部网络出去&#xff0c;反向代理一…

STM32 SPI通信协议2——SPI功能选项设置

在上篇文章中&#xff0c;已经对STM32的四个引脚进行了GPIO的基本配置&#xff0c;现在开始SPI外设进行配置。 SPI_InitTypeDef SPI_InitStructure; SPI_InitStructure.SPI_Direction SPI_Direction_2Lines_FullDuplex; SPI_InitStructure.SPI_Mode SPI_Mode_Master; SPI…

【LeetCode每日一题】2085. 统计出现过一次的公共字符串(哈希表)

2024-1-12 文章目录 [2085. 统计出现过一次的公共字符串](https://leetcode.cn/problems/count-common-words-with-one-occurrence/)思路&#xff1a;哈希表计算 2085. 统计出现过一次的公共字符串 思路&#xff1a;哈希表计算 1.用两个哈希表分别统计word1和word2中字符出现的…

大模型学习与实践笔记(五)

一、环境配置 1. huggingface 镜像下载 sentence-transformers 开源词向量模型 import os# 设置环境变量 os.environ[HF_ENDPOINT] https://hf-mirror.com# 下载模型 os.system(huggingface-cli download --resume-download sentence-transformers/paraphrase-multilingual-…