[Python]函数式编程的4个常用内建函数
2014-07-18 16:35
483 查看
apply(func[,nkw][,kw]) 用可选的参数来调用func,nkw为非关键字参数,kw为关键字参数;返回值是函数调用的返回值。
例:
[0, 4, 8, 1, 6, 5, 7, 2, 9, 3]
4
6
29
filter(func,seq)
调用一个布尔函数func来遍历迭代每一个seq中的元素;返回一个是func返回值为ture的元素的序列。
map(func,seq1[,seq2...])
将函数func作用于给定序列s的每个元素,并用以个列表来提供返回值;如果func为None,func表现为一个身份函 数,返回一个含有每个序列中元素集合的N个原始的列表。
[9, 64, 16, 81, 4, 100, 25, 49, 36, 1]
[2, 11, 11, 9, 7, 14, 11, 8, 14, 3]
[(2, 2), (11, 3), (11, -5), (9, 7), (7, -5), (14, 4), (11, -3), (8, 4), (14, -4), (3, -3)]
reduce(func,seq[,init])将二元函数作用与seq序列的元素,每次携带一堆,连续地将现有的结果和下一个值作用在获得的随后的结果上,最后减少我们的序列为一个单一的返回值;如果初始值init给定,第一个比较会是init和第一个序列元素而不是序列的头两个元素。
45
[2, 7, 3, 8, 1, 9, 4, 6, 5, 0]
15
11862
例:
import random seq = range(10) random.shuffle(seq); print seq seq2 = range(10) random.shuffle(seq2) print seq2 print apply(lambda x:x**2,[2]) print apply(lambda x,y:x+y,[2,4]) print apply(lambda x,y,z:x**2+y**2+z**2,[2,3,4])[2, 7, 3, 8, 1, 9, 4, 6, 5, 0]
[0, 4, 8, 1, 6, 5, 7, 2, 9, 3]
4
6
29
filter(func,seq)
调用一个布尔函数func来遍历迭代每一个seq中的元素;返回一个是func返回值为ture的元素的序列。
print filter(lambda x: x%2,seq)[7, 3, 1, 9, 5]
map(func,seq1[,seq2...])
将函数func作用于给定序列s的每个元素,并用以个列表来提供返回值;如果func为None,func表现为一个身份函 数,返回一个含有每个序列中元素集合的N个原始的列表。
print map(lambda x:x**2+2*x+1,seq) print map(lambda x,y:x+y,seq,seq2) print map(lambda x,y:(x+y,x-y),seq,seq2)[7, 3, 1, 9, 5]
[9, 64, 16, 81, 4, 100, 25, 49, 36, 1]
[2, 11, 11, 9, 7, 14, 11, 8, 14, 3]
[(2, 2), (11, 3), (11, -5), (9, 7), (7, -5), (14, 4), (11, -3), (8, 4), (14, -4), (3, -3)]
reduce(func,seq[,init])将二元函数作用与seq序列的元素,每次携带一堆,连续地将现有的结果和下一个值作用在获得的随后的结果上,最后减少我们的序列为一个单一的返回值;如果初始值init给定,第一个比较会是init和第一个序列元素而不是序列的头两个元素。
print reduce(lambda x,y:x+y,seq,0) # cal summation i print reduce(lambda x,y:x+y,seq) # cal summation ii print seq print reduce(lambda x,y:y-x,seq) print reduce(lambda x,y:2*x+3*y,seq,0)45
45
[2, 7, 3, 8, 1, 9, 4, 6, 5, 0]
15
11862
def str2int(s): return reduce(lambda x,y:x*10+y,map(int,s)) print str2int('13877')13877
相关文章推荐
- <PY><core python programming笔记>C11 函数和函数式编程
- python函数式编程内建函数filter,map,reduce函数
- Learning Python 012 函数式编程 2 返回函数 匿名函数 装饰器 偏函数
- Python入门 第四天(函数式编程、map、reduce、filter、排序函数、函数返回函数、闭包、匿名函数lambda)
- Python进阶学习笔记——函数式编程之高阶函数
- Python的函数式编程-传入函数、排序算法、函数作为返回值、匿名函数、偏函数、装饰器
- Python 函数式编程--偏函数
- Python的函数以及函数式编程
- Python学习笔记11:Python函数和函数式编程
- python函数式编程之匿名函数、装饰器、偏函数
- 【Python】[函数式编程]高阶函数,返回函数,装饰器,偏函数
- 【python学习笔记】函数式编程:返回函数
- 【python】网络编程-套接字常用函数
- Python学习(20):Python函数(4):关于函数式编程的内建函数
- 转自:Python函数式编程指南(二):函数
- 11 函数和函数式编程 - 《Python 核心编程》
- Python函数式编程之高阶函数
- Python基础学习代码之函数和函数式编程
- python -- 函数以及函数式编程
- python 函数、函数式编程、变量作用域、函数__doc__属性