欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python基础入门之十三 —— 高阶函数

程序员文章站 2022-03-10 11:43:49
一、定义 把函数作为参数传入 # 示例:求平方 # 法一:一般 def func(x): return x**2 print(func(2)) # 4 # 法二:高阶函数 def func1(x,f): return f(x) print(func1(2,func)) # 4 二、内置高阶函数 ma ......

一、定义

把函数作为参数传入

# 示例:求平方
# 法一:一般
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的每一个变量中

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]