当前位置: 首页 > news >正文

高阶函数--python

高阶函数应当满足至少下面一个条件:

接受一个或多个函数参数

输出一个函数

下面用一个例子来理解高阶函数。

一、高阶函数

先看一个简单的函数

例一:

例二:

是高阶函数,因为满足条件,返回一个函数

并且有闭包,在内层函数inc中调用了外层counter函数中的形参base。

再来看下面一个问题

为什么?

==是值内容相等,而f1是counter函数指向的函数对象,inc标识符岁函数调用而消亡,但inc内部所指的对象没有消亡,被f1记住了,f2同理,如果使用了==,因为在对象上是不能进行比较的,且f1和f2所处的内存空间位置不一样。所以f1 is f2是False ,f1==f2也是false。

二、sorted原理

仿照内建函数sorted,执行实现sort函数(不能使用内建函数),且能够为列表元素排序。

使用reverse控制升序和降序,使用key设置一个用于比较的函数。

思路:新建一个列表,遍历原列表,和新列表中的值依次对比,决定带插入数插入到新列表什么位置。

完整代码

三、filter过滤

filter(function,iterable)

对可迭代对象遍历,返回一个迭代器

function是一个参数的函数,且返回应当是bool类型,或返回其等效布尔值

function如果是None,可迭代对象每一个元素自身等效布尔值

如:

四、map映射

map(function,*iterable)

对多个可迭代元素按照指定的函数进行映射

返回一个迭代器

http://www.lryc.cn/news/478487.html

相关文章:

  • MYSQL备库的并行复制
  • 体感游戏开发:参考资料
  • Diving into the STM32 HAL-----Clock Tree笔记
  • 【AIGC】如何充分利用ChatGPT:有效提示框架与基本规则
  • 【1个月速成Java】基于Android平台开发个人记账app学习日记——第7天,申请阿里云SMS短信服务SDK
  • 视频怎么去除杂音保留人声?教你如何实现视频降噪
  • 数学建模学习(136):使用Python基于Fuzzy WSM、Fuzzy WPM、Fuzzy WASPAS的多准则决策分析
  • Python小游戏21——拼图小游戏
  • C# 常用的测试框架合集
  • Android——从相机/相册获取图片
  • MySQL 数据库基准测试报告
  • 计算机毕业设计Python+大模型神经网络电影推荐 知识图谱图神经网络电影推荐可视化系统 注意力机制 秒杀同类电影推荐项目 GNN GAT
  • Python | Leetcode Python题解之第543题二叉树的直径
  • 【浪潮商城-注册安全分析报告-无验证方式导致安全隐患】
  • 如何设置VSCODE快捷键光标移到行首和行尾
  • Android——多线程、线程通信、handler机制
  • Java | Leetcode Java题解之第542题01矩阵
  • docker安装低版本的jenkins-2.346.3,在线安装对应版本插件失败的解决方法
  • CSS3新增渐变(线性渐变、径向渐变、重复渐变)
  • 汽车免拆诊断案例 | 2017款凯迪拉克XT5车组合仪表上的指针均失灵
  • Cloudera Hue深度解析:安装、配置到高级用法
  • 17、论文阅读:VMamba:视觉状态空间模型
  • GPT-5 一年后发布?对此你有何期待?
  • 2024中国国际数字经济博览会:图为科技携明星产品引领数智化潮流
  • 大模型面试题:常见的微调方法有哪些说下原理并对比
  • CentOS 9 Stream 上安装 PostgreSQL 16
  • 【数据分享】1901-2023年我国省市县镇四级的逐年最高气温数据(免费获取/Shp/Excel格式)
  • 使用C++和QT开发应用程序入门以及开发实例分享
  • Openlayers高级交互(20/20):超级数据聚合,页面不再混乱
  • qt QStandardItemModel详解