Python 常用高阶函数

  1. 三元表达式
    条件为真时返回的结果 if 条件判断 else 条件为假时返回的结果
>>>x = 2

>>>y = 3

>>>r = x if x > y else y

>>>print(r)

3

2.map 函数

>>>
list_x = [1,2,3,4,5,6]

>>>
def square(x):

...  return x * x

... 

>>>
r = map(square, list_x)

>>>
print(list(r))

[1, 4, 9, 16, 25, 36]
  1. lambda 函数
>>> list_x = [1,2,3,4,5]

>>> r = map(lambda x:x*x, list_x)

>>> print(list(r))

[1, 4, 9, 16, 25]

>>> list_x = [1,2,3,4,5]

>>> list_y = [2,4,6,8,10]

>>> r = map(lambda x, y:x*x + y,
list_x, list_y)

>>> print(list(r))

[3, 8, 15, 24, 35]

当两个参数数量不同时,取参数较少的为准进行计算

>>> list_x = [1,2,3,4]

>>> list_y = [2,4,6,8,10]

>>> r = map(lambda x, y:x*x + y,
list_x, list_y)

>>> print(list(r))

[3, 8, 15, 24]
  1. reduce 函数
#下面例子不是连续相加,是连续调用lambda表达式

>>> from functools import reduce

>>> list_x = [1,2,3,4,5]

>>> r = reduce(lambda x,y:x+y,
list_x)

>>> print(r)

>>> r = reduce(lambda x,y:x+y,
list_x, 10)#这里的10是作为初始值,作为调用lambda表达式的第一个x

25
  1. filter 函数
>>> list_x = [1,0,1,1,0]

>>> r = filter(lambda x:True if
x==1 else False, list_x)

>>> print(list(r))

[1, 1, 1]

以上是 python 常用的高阶函数,在 poc 过程中,巧妙使用在代码块中,关键节点会给 poc 过程节省非常多的时间。