关闭

note10 高阶函数

112人阅读 评论(0) 收藏 举报
分类:

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






0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:23671次
    • 积分:1484
    • 等级:
    • 排名:千里之外
    • 原创:133篇
    • 转载:28篇
    • 译文:0篇
    • 评论:0条
    文章分类
    最新评论