高阶函数:把函数作为参数传入
abs(x)#求绝对值
round(x)#四舍五入计算
例子1:
def add_num(a,b,f)
return f(a)+f(b)
result = add_num(-1,2,abs)
print(result)#3
#内置高阶函数(常用的)
map(func,list),将传入的函数变量func作用到list变量的每个元素,并将结果组成新的列表迭代器返回
例子:
计算list1序列中各个数字的2次方
list1 = [1,2,3,4,5]
def func(x):
return x**2
result = map(func,list1)
print(result)#<map object at 0x00000259F228EA48>
print(list(result))#[1, 4, 9, 16, 25]
##############################################
reduce(func,list),其中func必须有两个参数。每次func计算的结果和序列的下一个元素做累积计算
例子:
计算list序列中的各个数字的累加和
import functools
list1 = [1,2,3,4,5]
def func(a,b):
return a+b
result = functools.reduce(func,list1)
print(result)#15
############################################
filter(func,list),用于过滤序列,过滤掉不符合条件的元素,返回一个filter对象。如果要转换为list,可以使用list()
例子:
#过滤序列中的偶数
list1 = [1,2,3,4,5,6,7,8,9,10]
def func(x):
return x%2 == 0
result = filter(func,list1)
print(result)#<filter object at 0x0000013D2BB1E0C8>
print(list(result))#[2, 4, 6, 8, 10]
################################################
本文深入探讨了Python中的高阶函数,包括abs()、round()以及add_num()等示例。通过map()函数展示了如何对列表进行操作,如计算列表元素的平方。reduce()函数用于累积计算,例如数字累加。最后,filter()函数用于过滤序列,例如筛选偶数。这些概念和示例有助于理解Python中函数作为第一类公民的特性。
1134

被折叠的 条评论
为什么被折叠?



