码迷,mamicode.com
首页 > 其他好文 > 详细

四大高阶函数

时间:2020-12-23 11:40:13      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:mamicode   方法   span   for循环   enc   class   元素   nbsp   ted   

四大高阶函数:

  map、reduce、filter、sorted

1.map函数:

  根据提供的函数对指定序列做映射

  使用可迭代对象(指定的序列)中的每个元素调用函数,将返回值作为新可迭代对象元素;返回值为新的可迭代对象。

  map函数的参数第一个为自定义的函数,这里没有括号

  第二个参数不仅仅是列表类型,只要为可迭代对象即可

  map函数的返回值为map类型,如果想要拿到里面的数据,①可以使用list()强转;②for循环遍历

例:

    技术图片

2.reduce函数:

  对指定的序列内的元素进行累积

  function参数是一个有两个参数的函数,reduce依次从sequence中取一个元素,和上一次调用function的结果做参数再次调用function`。

  reduce需要先进行导入模块 functools import reduce

  定义函数,此函数需要有两个参数(规则函数)

  reduce(函数名, 序列)

  reduce返回的结果为int类型,可以直接使用

例:

    技术图片

 

 

3.filter函数:

  根据条件,过滤掉不符合条件的元素,最终返回一个迭代器对象

  filter函数的作用:

    将可迭代对象的元素依次传入的指定的函数中,如果可迭代对象的单个元素传入后,函数返回True,则这个元素被保留下来,

    如果一个元素传入函数后,函数返回False,则这个元素被抛弃掉,最终保留下来的所有元素放置到一个迭代器中,filter可以实现筛选的功能。

例:

    技术图片

4.sorted函数:

  对所有可迭代对象进行排序操作

  sort 与 sorted 之间的区别

  sort 是应用在list上的方法,sorted可以对所有可迭代喜爱那个进行排序操作

  list 的 sort 方法返回的是对已经存在的列表进行操作,而内建的函数sorted 方法返回的是一个新的list,而不是在原来的基础上进行的操作。

5.总结:

  map函数:根据提供的函数对指定序列做映射,返回的是一个map类型的对象

  reduce函数:对指定的序列内的元素进行累积,返回的是一个最终的值

  filter函数:根据条件进行过滤,最终返回一个迭代器对象

  sorted函数:对所有可迭代对象进行排序操作,排序规则可自己通过key来规定。

 

 

四大高阶函数

标签:mamicode   方法   span   for循环   enc   class   元素   nbsp   ted   

原文地址:https://www.cnblogs.com/gaogang/p/14153225.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!