一.函数式编程和高阶函数
概念与实例精讲:http://www.cnblogs.com/kym/archive/2011/03/07/1976519.html
高阶函数就是把函数作为参数
例:
def test(x,y,f):
return f(x)+f(y)
调用的时候f传入一个函数abs,如:
test(-5,10,abs)#ads是取正数
执行过程:
abs(-5)+abs(10)
结果是:15
如果传入其他的函数如:平方根 math.sqrt
import math
test(4,16,math.sqrt)
执行结果: 2+4=6
map函数
map是python内置的一个高阶函数,它接受一个函数 f 和一个list,并通过把 f 依次作用在list上返回一个新的list。
1.有list=[1,2,3,4,5,6,7,8] 求list平方后的新list
先定义一个求平方的函数,传入map即可
def f(x):
return x*x
list=[1,2,3,4,5,6,7,8]
print map(f,list)
结果:[1, 4, 9, 16, 25, 36, 49, 64]
注意:map()函数不改变原有的list,而是返回一个新的list。list可以是任何数据类型,但要保证你传入的函数 f 可以处理这种数据类型。