服务器学习网 > 编程学习 > Python中的内置高阶函数有哪些?用法是什么?

Python中的内置高阶函数有哪些?用法是什么?

服务器学习网综合整理   2024-11-09 15:45:20

一、map()函数 map() 是Python中的一个内置高阶函数,它接收一个函数和一个或多个可迭代对象作为参数,将函数依次作用于每个可迭代对象的元素上,并返回一个迭代器。 重点用法: def square(x): return x ** 2 numbers = [1, 2, 3, 4, ...

在Python编程的世界里,高阶函数(Higher-Order Functions)扮演着举足轻重的角色。它们不仅能够接收函数作为参数,还能返回函数作为结果,极大地增强了代码的灵活性和可复用性。那么,Python中究竟有哪些内置的高阶函数呢?它们的具体用法又是什么?

一、map()函数

map() 是Python中的一个内置高阶函数,它接收一个函数和一个或多个可迭代对象作为参数,将函数依次作用于每个可迭代对象的元素上,并返回一个迭代器。

重点用法

def square(x):
    return x ** 2

numbers = [1, 2, 3, 4, 5]
squared_numbers = map(square, numbers)
print(list(squared_numbers))  # 输出: [1, 4, 9, 16, 25]

二、filter()函数

filter() 同样是Python的内置高阶函数,它接收一个函数和一个可迭代对象作为参数,将函数依次作用于可迭代对象的每个元素上,并返回一个迭代器,该迭代器包含所有使函数返回True的元素。

重点用法

def is_even(x):
    return x % 2 == 0

numbers = [1, 2, 3, 4, 5]
even_numbers = filter(is_even, numbers)
print(list(even_numbers))  # 输出: [2, 4]

三、reduce()函数

reduce() 函数位于functools模块中,它接收一个函数和一个可迭代对象(以及一个可选的初始值)作为参数,通过不断将函数应用于可迭代对象的元素(从左到右),累积计算出一个单一的结果。

重点用法(需要先导入functools模块):

from functools import reduce

def add(x, y):
    return x + y

numbers = [1, 2, 3, 4, 5]
sum_of_numbers = reduce(add, numbers)
print(sum_of_numbers)  # 输出: 15

Python中的内置高阶函数有哪些?用法是什么?

通过掌握这些内置高阶函数,你将能够编写出更加简洁、高效的Python代码。

推荐文章