一 前言

本篇内容是关于一些高阶函数基本使用的知识,其目的主要是简化代码,更加精炼;

公众号:知识追寻者

知识追寻者(Inheriting the spirit of open source, Spreading technology knowledge;)

二 高阶函数

2.1 高阶函数概念

函数式编程为高阶函数(Higher-order function);函数式编程是指将一个函数作为另一个函数参数的编程方式;一般情况下使用函数式编程通常都会使用到匿名函数简化代码;

2.2 高阶函数示例

如下所示,定义过滤函数filter,如果函数值大于5就返回入参,否则返回None;

将 filter 函数 作为 getNumber 函数的第一个入参,在函数体调用filter函数对第二个入参arrs进行值的过滤操作;

最后对filter(num)进行判定,如果是None不入新的列表,否则加入列表;

# -*- coding: utf-8 -*-

# 对数组 arr 进行过滤

def getNumber(filter,arrs):

return [ filter(num) for num in arrs if filter(num) is not None]

# 定义过滤函数

def filter(num):

if num > 5:

return num

else:

pass

result = getNumber(filter,list(range(0,10,2)))

print(result)

输出

[6, 8]

三 内置函数

常用的内置高阶函数如下;

3.1 map()

map函数接受两个参数,一个是函数,一个是序列;map将传入的函数依次作用于序列中的每个元素,将结果作为新的列表返回;

如下示例,传入匿名函数,其作用是对列表list中的每个值进行乘2,对新的值组成列表并返回;

anno_map = map(lambda x: x * 2, list(range(0,10,2)))

print(list(anno_map))

输出

[0, 4, 8, 12, 16]

3.2 reduce()

reduce():函数接收两个参数,一个是函数,另一个是序列;函数必须接收两个参数,reduce将序列的前一个参数和后一个参数进行累计计算的结果返回;

如下示例 将 0,2,4,6,8 进行累加的结果进行返回;

from functools import reduce

anno_reduce = reduce(lambda x, y: x + y, range(0,10,2))

# 20

print(anno_reduce)

3.3 filter()

filter():筛选过滤函数;将传入的函数,依次作用于每个元素,如果函数返回值是True就保留否则丢弃;

如下所示,对[0,10)的数字进行判定,如果能被2整除就保留,否则丢弃;

anno_filter = filter(lambda x: x % 2 == 0,list(range(10)) )

print(list(anno_filter))

输出

[0, 2, 4, 6, 8]

3.4 sorted()

sorted() 是排序函数 , 其参数如下

iterable 是一个序列

key 可计算的排序函数,用于自定义排序;

reverse 排序规则,reverse = False 升序(默认),reverse = True降序;

如下示例,key的函数进对列表中的每个元素进行作用,对运算后的结果进行大小比较,默认是升序;

anno_sorted = sorted([2,1,5,3,7], key=lambda x: x * x)

print(anno_sorted)

输出

[1, 2, 3, 5, 7]

pythonspiit函数_python专题高阶函数相关推荐

  1. python阶乘匿名函数_python的高阶函数与匿名函数

    一.高阶函数的定义 高阶函数:就是把函数当成参数传递的一种函数,例如: defadd(x,y,f):return f(x)+f(y)print(add(-8,11,abs) 结果:19 解释: 1.调 ...

  2. Kotlin的高阶函数和常用高阶函数

    Kotlin的高阶函数和常用高阶函数 文章来源:企鹅号 - Android先生 高阶函数的定义 将函数当做参数或者是返回值的函数 什么是高阶函数 可以看看我们常用的 函数: 首先我们可以知道, 是 的 ...

  3. 一木.溪桥学Python-09:函数的返回值、函数的作用域、作用域的优先级、递归函数、内置文件中常用方法、匿名函数lambda、高阶函数

    一木.溪桥 在Logic Education跟Amy学Python 12期:Python基础课 一木.溪桥学Python-09:函数的返回值.作用域.作用域的优先级.递归函数.内置文件中常用方法.匿名 ...

  4. java 高阶函数_谈谈高阶函数给我们带来了什么。

    什么是高阶函数 一句话解释的话,就是函数可以作为参数以变量的方式持有,引用,构造和使用 一些文章我随手搜的,大家可以看看,它本身的概念并不复杂. 高阶函数-廖雪峰 高阶函数-wiki 其实现在主流语言 ...

  5. python中高阶函数改写学生信息管理程序_python利用高阶函数实现剪枝函数

    本文为大家分享了python利用高阶函数实现剪枝函数的具体代码,供大家参考,具体内容如下 案例: 某些时候,我们想要为多个函数,添加某种功能,比如计时统计,记录日志,缓存运算结果等等 需求: 在每个函 ...

  6. 使用函数处理数组 高阶函数 js

    函数式编程 和lisp这种纯粹的函数式编程不一样,js可以实现其为函数式编程 使用函数处理数组 计算一个数组的平均值 // 定义一个用于计算和的函数 var sum = function(x, y){ ...

  7. python四大高阶函数_四大高阶函数

    目录 1. 匿名函数 在我们需要一个函数但又不想费神的去命名一个函数的场合下使用,这就是匿名函数 1 f = lambda x,y,z:x+y+z2 defF(x,y,z):3 return x+y+ ...

  8. python 把函数作为参数 ---高阶函数

    把函数作为参数 在2.1小节中,我们讲了高阶函数的概念,并编写了一个简单的高阶函数:def add(x, y, f):return f(x) + f(y) 如果传入abs作为参数f的值:add(-5, ...

  9. Python 基础之匿名函数 迭代器和高阶函数

    一.匿名函数 lambda表达式 用一句话来表达只有返回值的函数,叫匿名函数特点:简洁方便语法:lambda 参数: 返回值 1.不带有参数的lambda表达式 def func():     ret ...

  10. html相乘函数是什么,高阶函数求导公式

    复合函数的高阶导数公式比如y=f(x)可以看做y=u(t)和t=v(x)的复合,那么用链式法则 链式法则是微积分中的CSS布局HTML小编今天和大家分享导法则,用以CSS布局HTML小编今天和大家分享 ...

最新文章

  1. 疫情撬动游戏产业“底层认知”,正向价值愈发突显
  2. 用户及用户组管理(week1_day4)--技术流ken
  3. 取两个数较小值c语言_编程代码:用C语言来实现下雪效果,这个冬天,雪花很美...
  4. 编程获取linuxservercpu、内存和磁盘使用
  5. 低代码开发平台_低代码开发平台系列:6、低代码是编程技术发展大势所趋
  6. Innodb 表空间卸载、迁移、装载
  7. 阿里云重磅发布RDS for SQL Server AlwaysOn集群版
  8. 【Linux系列】Linux基础知识整理
  9. 程序员生涯之我见 找到自己的兴趣所在 (zz)
  10. API接口设计之RESTful软件架构风格
  11. VS Code离线安装C/C++插件cpptools-linux-aarch64.vsix
  12. GATK RNA-Seq Snps Indel 分析
  13. 黑客小C小游戏(DEVC++)时不时会更新
  14. 拥抱变化 把握未来——“移动”电商营销新时代
  15. android编译系统分析一:source build/envsetup.sh与lunch
  16. python定位二维码_图像中二维码的检测和定位
  17. 【Unity3D日常开发】Unity3D中设置Image中的Color的值
  18. 国产手机:联想式的浮夸应该…
  19. vue+ElementUI实现后台管理系统(二)
  20. asp.net 项目的一点总结 点卡销售/CRM

热门文章

  1. 去吧!设计模式之桥接模式
  2. 用python实现微信定时发送图片
  3. 【LEACH协议】基于matlab实现无线传感器网络LEACH与DEEC协议
  4. java的try后面跟括号
  5. 服务器定时发送qq消息,python实现定时发送qq消息.pdf
  6. 如何记忆和使用PNP和NPN?
  7. linux 云计算 python web和http协议
  8. 数据结构:图:图形和图形模型(Graphs and Graph Models)
  9. 星星之火-9:详解信道特性与奈奎斯特定理和香农定理
  10. python中的iter函数_如何使用python中iter函数?