【Python】高阶函数

一、高阶函数

  • 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))

Guess you like

Origin blog.csdn.net/qq_26082507/article/details/120922652