note10 高阶函数

原创 2016年05月31日 14:18:36

1、函数可以直接赋值给变量,变量可以指向函数

>>>f = abs
>>>f(-10)
10

2、函数名其实就是指向函数的变量,可以把函数名看作变量

3、一个函数可以接收另一个函数作为参数,这种函数称之为高阶函数

4、map()函数接收两个参数,一个是函数,一个是iterable,map()将传入的函数依次作用到序列的每个元素,然后把新结果作为新的iterator返回

也就是一堆定义值返回一堆函数值

>>>def f(x)
...        return x*x
...
>>> r = map(f,[1,2,3,4,5,6,7,8,9])
>>>list(r)
[1,4,9,16,25.....]

5、map类似于群攻

>>> list(map(str,[1,2,3,4,5,6,7,8,9]))

['1','2','3','4'.......]

6、reduce函数()把一个函数作用在一个序列上,reduce把结果和序列的下一个元素做累计计算

>>> from functools import reduce
>>> def add(x, y):
...     return x + y
...
>>> reduce(add, [1, 3, 5, 7, 9])
25
也可以用sum(),如果想把序列换成整数13579,reduce就非常方便

>>> from functools import reduce
>>> def fn(x, y):
...     return x * 10 + y
...
>>> reduce(fn, [1, 3, 5, 7, 9])
13579






版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

常用高阶函数:转换

  • 2017-06-09 14:00
  • 93KB
  • 下载

SE高阶(10):类加载机制—类加载器、类初始化和URLClassLoader

说到类加载就必须得了解JVM(虚拟机)的作用,我们使用eclipse或者命令行调用命令javac.exe运行一个Java程序时,系统会启动虚拟机来加载类,然后运行在虚拟机进程中。加载类的过程的就是类加...

iOS10推送必看(高阶1)

原文出处: 徐不同    虽然这篇文章比较长,也不好理解,但是还是建议大家收藏,以后用到的时候,可以看看,有耐心的还是读一读。 这篇文章开始,我会跟大家好好讲讲,苹果新发布的iOS10...

javascript学习(十)— 高阶函数:map/reduce,filter,sort

高阶函数英文叫Higher-order function。那么什么是高阶函数?JavaScript的函数其实都指向某个变量。既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数...

Erlang高阶函数——递归

高阶函数递归用法高阶函数实现尾递归有两种方式: 1、将高阶函数自身作为参数传入,并在内部调用 2、通过fun进行类似普通函数的定义

Scala学习——高阶函数

原文发表于:http://nerd-is.in/2013-09/scala-learning-higher-order-functions/ 在函数式编程语言中,函数是“头等公民”,可以像任何其...

Erlang学习笔记(3) -- 高阶函数 与 抽象流程控制

匿名函数我们直接看一段erlang代码吧 (这里代码前面有>符号,指的是在命令行直接执行)> Double = fun(X)->2*X end. > Double(2). > 4这里fun(X) 是一...

scala的高阶函数

scala高阶函数
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)