一、高阶函数
- abs():可完成对数字取绝对值的运算。
- round():可完成对数字四舍五入的运算。
- map(func, list):参数一:函数名,参数二:列表。将传入的函数变量作用到列表里的每个元素中,并将结果组成迭代器返回。
- reduce(func, list):每次func计算的结果继续和list中的下一个元素做计算。
- filter(func, list):该函数用于过滤掉不符合条件的元素,返回filter对象,可以list()转换为列表。
二、函数的高阶写法
函数高阶写法的初步思想是让函数的参数传入函数。
def sum_num(a, b, f):
return f(a) + f(b)
result = sum_num(-1, 2, abs)
print(result)
map()函数使用例子:
#把列表里的每个元素的值做平方运算
list1 = [1, 2, 3, 4, 5]
def func(x)
return x ** 2
result = map(func, list1)
print(list(result))#转换为列表
reduce()函数使用例子:
#导入模块
#累加列表里的值
import functools
list1 = [1, 2, 3, 4, 5]
def func(a, b):
return a + b
result = functools.reduce(func, list1)
print(result)
filter()函数使用例子:
#过滤列表里有余数的值
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
def func(x):
return x % 2 == 0
result = filter(func, list1)
print(list(result))