pythonspiit函数_python专题高阶函数
一 前言
本篇内容是关于一些高阶函数基本使用的知识,其目的主要是简化代码,更加精炼;
公众号:知识追寻者
知识追寻者(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专题高阶函数相关推荐
- python阶乘匿名函数_python的高阶函数与匿名函数
一.高阶函数的定义 高阶函数:就是把函数当成参数传递的一种函数,例如: defadd(x,y,f):return f(x)+f(y)print(add(-8,11,abs) 结果:19 解释: 1.调 ...
- Kotlin的高阶函数和常用高阶函数
Kotlin的高阶函数和常用高阶函数 文章来源:企鹅号 - Android先生 高阶函数的定义 将函数当做参数或者是返回值的函数 什么是高阶函数 可以看看我们常用的 函数: 首先我们可以知道, 是 的 ...
- 一木.溪桥学Python-09:函数的返回值、函数的作用域、作用域的优先级、递归函数、内置文件中常用方法、匿名函数lambda、高阶函数
一木.溪桥 在Logic Education跟Amy学Python 12期:Python基础课 一木.溪桥学Python-09:函数的返回值.作用域.作用域的优先级.递归函数.内置文件中常用方法.匿名 ...
- java 高阶函数_谈谈高阶函数给我们带来了什么。
什么是高阶函数 一句话解释的话,就是函数可以作为参数以变量的方式持有,引用,构造和使用 一些文章我随手搜的,大家可以看看,它本身的概念并不复杂. 高阶函数-廖雪峰 高阶函数-wiki 其实现在主流语言 ...
- python中高阶函数改写学生信息管理程序_python利用高阶函数实现剪枝函数
本文为大家分享了python利用高阶函数实现剪枝函数的具体代码,供大家参考,具体内容如下 案例: 某些时候,我们想要为多个函数,添加某种功能,比如计时统计,记录日志,缓存运算结果等等 需求: 在每个函 ...
- 使用函数处理数组 高阶函数 js
函数式编程 和lisp这种纯粹的函数式编程不一样,js可以实现其为函数式编程 使用函数处理数组 计算一个数组的平均值 // 定义一个用于计算和的函数 var sum = function(x, y){ ...
- python四大高阶函数_四大高阶函数
目录 1. 匿名函数 在我们需要一个函数但又不想费神的去命名一个函数的场合下使用,这就是匿名函数 1 f = lambda x,y,z:x+y+z2 defF(x,y,z):3 return x+y+ ...
- python 把函数作为参数 ---高阶函数
把函数作为参数 在2.1小节中,我们讲了高阶函数的概念,并编写了一个简单的高阶函数:def add(x, y, f):return f(x) + f(y) 如果传入abs作为参数f的值:add(-5, ...
- Python 基础之匿名函数 迭代器和高阶函数
一.匿名函数 lambda表达式 用一句话来表达只有返回值的函数,叫匿名函数特点:简洁方便语法:lambda 参数: 返回值 1.不带有参数的lambda表达式 def func(): ret ...
- html相乘函数是什么,高阶函数求导公式
复合函数的高阶导数公式比如y=f(x)可以看做y=u(t)和t=v(x)的复合,那么用链式法则 链式法则是微积分中的CSS布局HTML小编今天和大家分享导法则,用以CSS布局HTML小编今天和大家分享 ...
最新文章
- 疫情撬动游戏产业“底层认知”,正向价值愈发突显
- 用户及用户组管理(week1_day4)--技术流ken
- 取两个数较小值c语言_编程代码:用C语言来实现下雪效果,这个冬天,雪花很美...
- 编程获取linuxservercpu、内存和磁盘使用
- 低代码开发平台_低代码开发平台系列:6、低代码是编程技术发展大势所趋
- Innodb 表空间卸载、迁移、装载
- 阿里云重磅发布RDS for SQL Server AlwaysOn集群版
- 【Linux系列】Linux基础知识整理
- 程序员生涯之我见 找到自己的兴趣所在 (zz)
- API接口设计之RESTful软件架构风格
- VS Code离线安装C/C++插件cpptools-linux-aarch64.vsix
- GATK RNA-Seq Snps Indel 分析
- 黑客小C小游戏(DEVC++)时不时会更新
- 拥抱变化 把握未来——“移动”电商营销新时代
- android编译系统分析一:source build/envsetup.sh与lunch
- python定位二维码_图像中二维码的检测和定位
- 【Unity3D日常开发】Unity3D中设置Image中的Color的值
- 国产手机:联想式的浮夸应该…
- vue+ElementUI实现后台管理系统(二)
- asp.net 项目的一点总结 点卡销售/CRM