Python函数式编程
高阶函数高阶函数:能接收函数做参数的函数 变量可以指向函数 函数的参数可以接受变量 一个函数可以接受另一个函数作为参数 能接受函数做参数的函数就是高阶函数 python把函数作为参数一个简单的高阶函数: def add(x,y,f): return f(x) + f(y) 如果传入abs作为参数f的值: add(-5,9,abs) 根据函数的定义,函数执行的代码实际上是: abs(-5) + abs(9) 由于参数 x,y 和 f 都可以任意传入,如果 f 传入其他函数,就可以得到不同的返回值。 python中map()函数map()是 Python 内置的高阶函数,它接收一个函数 f?和一个?list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。 例如,对于list [1,2,3,4,5,6,7,8,9] 如果希望把list的每个元素都作平方,就可以用map()函数: 因此,我们只需要传入函数f(x)=x*x,就可以利用map()函数完成这个计算: def f(x): return x*x print map(f,[1,9]) 输出结果: [1,10,25,36,49,64,81] 注意:map()函数不改变原有的 list,而是返回一个新的 list。 利用map()函数,可以把一个 list 转换为另一个 list,只需要传入转换函数。 由于list包含的元素可以是任何类型,因此,map() 不仅仅可以处理只包含数值的 list,事实上它可以处理包含任意类型的 list,只要传入的函数f可以处理这种数据类型。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |