函数式编程

函数式编程

  1. 函数式编程的特点:允许把函数本身作为参数传入另一个函数,还允许返回一个函数
  2. 把函数作为参数传入,这样的函数成为高阶函数,函数式编程就是指这种高度抽象的编程范式。

map/reduce

  1. map()函数接收两个参数,一个是函数,一个是可迭代对象,map将传入的函数一次作用到序列的每个元素,并把结果作为新的迭代对象返回。

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

     reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
    

filter

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

sorted

  1. sorted()函数是一个高阶函数,它还可以接收一个key函数来实现自定义的排序

     sorted([36, 5, -12, 9, -21], key = abs)
    
  2. 若要进行反向排序,不必改动key函数,可以传入第三个参数reverse=True

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量,因此,任意一个函数,只要输入是确...
    齐天大圣李圣杰阅读 1,566评论 0 2
  • 函数式编程:把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式。 map/redu...
    Roct阅读 343评论 0 0
  • 函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简...
    祐吢房_2c9a阅读 408评论 1 1
  • 我是一个过客,你也是一位过客, 有一个结点我们成为了互相的过客。 终是过客,害怕什么? 不要怕离别的愁绪, 这只是...
    empror阅读 548评论 0 3
  • 英子和林校一起回“娘家”,爸爸将陈年的老酒取出来招待这个新晋女婿,又炒了两个肉菜,下了宽面条,一海碗的干拌面,林校...
    Sophie朵儿阅读 286评论 0 0