美文网首页
Python 常用高阶函数

Python 常用高阶函数

作者: WeiDong_Shi | 来源:发表于2019-06-13 11:32 被阅读0次

filter

功能: filter的功能是过滤掉序列中不符合函数条件的元素,当序列中要删减的元素可以用某些函数描述时,就应该想起filter函数。

调用: filter(function,sequence),function可以是匿名函数或者自定义函数,它会对后面的sequence序列的每个元素判定是否符合函数条件,返回TRUE或者FALSE,从而只留下TRUE的元素;sequence可以是列表、元组或者字符串

例子:

x = [1,2,3,4,5]
# 找出偶数。python3.*之后filter函数返回的不再是列表而是迭代器,所以需要用list转换。
list(filter(lambda x:x%2==0,x)) 
# 输出:
[2, 4]
1
2
3
4

map

功能: 求一个序列或者多个序列进行函数映射之后的值,就该想到map这个函数,它是python自带的函数,在python3.*之后返回的是迭代器,同filter,需要进行列表转换
调用: map(function,iterable1,iterable2),function中的参数值不一定是一个x,也可以是x和y,甚至多个;后面的iterable表示需要参与function运算中的参数值,有几个参数值就传入几个iterable

例子:

x = [1,2,3,4,5]
y = [2,3,4,5,6]
list(map(lambda x,y:(x*y)+2,x,y))
# 输出:
[4, 8, 14, 22, 32]
1
2
3
4
5
注:map中如果传入的几个序列的长度不一,那么会依据最短的序列进行计算。

reduce

功能: 对一个序列进行压缩运算,得到一个值。但是reduce在python2的时候是内置函数,到了python3移到了functools模块,所以使用之前需要 from functools import reduce

调用: reduce(function,iterable),其中function必须传入两个参数,iterable可以是列表或者元组

例子:

from functools import reduce
y = [2,3,4,5,6]
reduce(lambda x,y: x + y,y) # 直接返回一个值
# 输出:
1
2
3

其计算原理:

先计算头两个元素:f(2, 3),结果为5;
再把结果和第3个元素计算:f(5, 4),结果为9;
再把结果和第4个元素计算:f(9, 5),结果为14;
再把结果和第5个元素计算:f(14, 6),结果为20;
由于没有更多的元素了,计算结束,返回结果20。

相关文章

  • wangyanhua--python2

    基本函数的使用 匿名函数 常用系统高阶函数 高阶函数 常用系统高阶函数 Python递归 安装第三方库 三国小说人...

  • Python高阶函数

    本文要点 1.什么是高阶函数 2.python中有哪些常用的高阶函数 什么是高阶函数? 在了解什么是高阶函数之前,...

  • Python 常用高阶函数

    filter 功能: filter的功能是过滤掉序列中不符合函数条件的元素,当序列中要删减的元素可以用某些函数描述...

  • python中5个常用的内置高阶函数

    python内置常用高阶函数: 一、函数式编程 函数本身可以赋值给变量,赋值后变量为函数; 允许将函数本身作为参数...

  • Swift(二)高阶函数

    @TOC swift常用高阶函数 swift中比较常用的高阶函数有:map、flatMap、filter、redu...

  • python装饰器

    装饰器简述 要理解装饰器需要知道Python高阶函数和python闭包,Python高阶函数可以接受函数作为参数,...

  • python 中常见的高阶函数 2021-11-05

    python 中常见的高阶函数 1.zip函数,常用来代替for循环a = [1,3,5]b = [2,4,6]z...

  • Python函数式介绍一 - 高阶函数

    Python函数式介绍一 - 高阶函数Python函数式介绍二 - 链式调用 最近为了给朋友推广Python函数式...

  • Python高阶函数学习笔记

    python中的高阶函数是指能够接收函数作为参数的函数 python中map()函数map()是 Python 内...

  • 【Python】-014-函数-函数式编程-2

    python内置高阶函数 Filter函数filter(function, sequence) -> list, ...

网友评论

      本文标题:Python 常用高阶函数

      本文链接:https://www.haomeiwen.com/subject/foibaqtx.html