Python高阶函数和匿名函数

作者: 我爱学python | 来源:发表于2019-07-21 15:44 被阅读4次

map()

map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。

输出结果:

可以看出,map让函数func作用于列表的每一项,使列表的每一项都被函数func执行一次,即列表的每一项都进行平方。其返回值是map类型。

reduce()

reduce函数必须接收两个参数,把一个函数作用在一个序列[x1, x2, x3, ...]上,然后再把结果继续和序列的下一个元素做累积计算。


输出结果:

和map不同,虽然reduce也是作用于每个元素,但是reduce的作用结果要用在下次和另一个元素做累积计算。

map()和reduce()的结合使用


输出结果:

可以将字符串类型转换为int类型

filter()

filter()函数用于过滤序列,接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。

输出结果:

sorted()

sorted()函数也是一个高阶函数,在列表的学习中初步接触了sorted(),但其实它还可以接收一个key函数来实现自定义的排序。

key指定的函数将作用于被排序对象的每一个元素上,并根据key函数返回的结果进行排序。

输出结果:

同样的,sorted()也可以对元组和字典进行排序

输出结果:

当然,也能以values的值来排序,对字典的排序与元组类似,但返回值不同。

输出结果:

可以看到,不管是以key值进行排序,还是以value值进行排序,排序结果只返回对应顺序的key值。

匿名函数


输出结果:

上面就是一个匿名函数的使用,匿名函数 lambda x: x * x 实际上就是:

只是在这里没有显式地定义函数,这样因为函数没有名字,不必担心函数名冲突,而且代码看起来也简洁。

相关文章

  • wangyanhua--python2

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

  • python lambda

    lambda是匿名函数。前面我们提到python高阶函数,学习了map,reduce,filter等python内...

  • Python高阶函数和匿名函数

    map() map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个...

  • Python ☞ day 4

    Python学习笔记之 (set)集合 & 迭代器 & 函数 & 匿名函数 & 高阶函数 set set:类似di...

  • 高级语法

    高阶函数:以其他函数作为其参数或者返回值的函数。跟JS一样,python提供了部分内置高阶函数 匿名函数:pyth...

  • 10-python中匿名函数

    高阶函数可以接收函数做参数,有些时候,我们不需要显式地定义函数,直接传入匿名函数更方便。 在Python中,对匿名...

  • Kotlin学习之高阶函数和Lambda表达式:函数类型和匿名函

    Kotlin学习之高阶函数和Lambda表达式:函数类型和匿名函数 高阶函数是参数或返回值包含函数的函数,Lamd...

  • Python小世界:匿名函数、高阶函数、推导式

    简述 闲话不多说,本篇博文,主要针对Python的 匿名函数lambda 高阶函数map reduce filte...

  • 23-Python函数3

    1.高阶函数 2.返回函数 3.匿名函数 学习地址: 撩课-Python大数据+人工智能1撩课-Python大数据...

  • 函数

    本节学习几种函数 匿名函数 高阶函数 闭包 头等函数的作用 匿名函数 什么是匿名函数? 通俗的讲就是没有函数名的函...

网友评论

    本文标题:Python高阶函数和匿名函数

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