高阶函数

用函数作为变量的函数称为高阶函数(无论这个变量当做入参,还是当做返回值,都可称之为高阶函数)。

>>> def test(a, b, f):
...   return f(a) + f(b)
... 
>>> test(3, -3, abs)
6

python有几个内置的高阶函数:

map(function, list) 返回一个列表,列表里每个值分别是原始列表对应位置的值作为参数,函数function的返回值。

>>> map(abs, [-1, -2, -3])
[1, 2, 3]

reduce(function, list) 返回一个值,该值是列表中每两个作为参数,函数function最终的返回值,支持第三个可选的参数,设定初始值。

>>> def add(a, b):
...   return a + b
... 
>>> reduce(add, [1, 2, 3])
6

filter(function, list) 返回列表,把每个值放到function,返回True放到返回值列表里,返回False则不放。

>>> def radix(num):
...   return bool(num % 2)
... 
>>> filter(radix, [1,2,3,4,5,6])
[1, 3, 5]

sorted

原文地址:https://www.cnblogs.com/allenzhang-920/p/8822368.html