一、定义

把函数作为参数传入

# 示例:求平方
# 法一:一般
def func(x):
    return x**2
print(func(2))  # 4

# 法二:高阶函数
def func1(x,f): return f(x) print(func1(2,func))  # 4

二、内置高阶函数

map(function,list)

传入的函数单独作用到list的每一个变量中

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
list1 = [1, 2, 5, 9] def func1(x): return x**2
# map(function,list)
result = map(func1, list1) print(result)  # <map object at 0x000001D4E99E94C0>
print(list(result))  # [1, 4, 25, 81]
reduce(function,list)

function至少有两个传入参数,函数计算结果继续与下一元素做累计运算

 

import functools list2 = [1,2,3,4] def func2(a,b): return a*b result2 = functools.reduce(func2,list2) print(result2)  # 24

 

filter(function,list)

过滤不符合function条件的元素

 

list3 = [1,2,3,4] def func3(x): return x%2==0 result3 = filter(func3,list3) print(list(result3))  # [2, 4]

 

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄