高阶函数
浏览量:1053
高阶函数是至少满足这两个任意中的一个条件:
一、能接受一个或多个函数作为输入
二、输出一个函数。
举例:
def function1(x): return x*x def function2(func,y): return func(y) print function2(function1,5)
这里的 function2 就是一个高阶函数,因为它的第一个参数是一个函数,满足了第一个条件。
内置高阶函数
1、map()
将序列中的元素通过函数处理返回一个新列表。
语法:
map(function, sequence[, sequence, ...]) -> list
例:
list=[1,2,3,4,5] print map(lambda x:str(x)+".txt",list) #输出结果 ['1.txt', '2.txt', '3.txt', '4.txt', '5.txt']
2、filter()
将序列中的元素通过函数处理返回一个新列表、元组或字符串。
语法:
filter(function or None, sequence) -> list, tuple, or string
例:过滤列表中的奇数
list=[1,2,3,4,5] print filter(lambda x:x%2==0,list) #输出结果 [2,4]
3、reduce()
reduce()是一个二元运算函数,所以只接受二元操作函数。
语法:
reduce(function, sequence[, initial]) -> value
例:计算列表总和
list=[1,2,3,4,5] print reduce(lambda x,y:x+y,list) #输出结果 15

神回复
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。