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

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

服务器学习网综合整理   2024-09-16 15:15:41

1. map() 函数 map() 函数是Python中的一个内置高阶函数,它接收两个参数:一个函数和一个可迭代对象(如列表、元组等)。map() 会将传入的函数依次作用于可迭代对象的每一个元素上,并返回一个map对象(在Python 3.x中,需要转换为列表或其他类型才能直接查看结果)。 重点用法...

在Python的广阔世界里,高阶函数(Higher-Order Functions)扮演着举足轻重的角色。它们不仅增强了代码的可读性和复用性,还极大地丰富了Python的编程范式。高阶函数是指那些可以接受函数作为参数,或者将函数作为返回值的函数。接下来,让我们一同探索Python中几个至关重要的内置高阶函数及其用法。

1. map() 函数

map() 函数是Python中的一个内置高阶函数,它接收两个参数:一个函数和一个可迭代对象(如列表、元组等)。map() 会将传入的函数依次作用于可迭代对象的每一个元素上,并返回一个map对象(在Python 3.x中,需要转换为列表或其他类型才能直接查看结果)。

重点用法示例

def square(x):
    return x * x

numbers = [1, 2, 3, 4, 5]
squared = list(map(square, numbers))  # 将square函数应用于numbers列表的每一个元素
print(squared)  # 输出: [1, 4, 9, 16, 25]

2. filter() 函数

filter() 函数同样是一个内置高阶函数,它用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新迭代器。filter() 函数接收两个参数:一个函数和一个序列。函数用于判断序列中元素是否符合条件。

重点用法示例

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

numbers = [1, 2, 3, 4, 5, 6]
filtered = list(filter(is_even, numbers))  # 过滤出偶数
print(filtered)  # 输出: [2, 4, 6]

3. reduce() 函数(需从functools模块导入)

虽然reduce()函数在Python 3.x中不再是内置函数,但它是高阶函数的一个重要成员,通常需要从functools模块中导入。reduce() 函数会对参数序列中元素进行累积。它接收两个参数:一个函数和一个序列(在Python 3.x中还需要指定初始值作为可选参数)。

重点用法示例(需先from functools import reduce):

from functools import reduce

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

numbers = [1, 2, 3, 4, 5]
result = reduce(add, numbers)  # 累加numbers列表中的元素
print(result)  # 输出: 15

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

通过掌握这些内置高阶函数,你可以更加灵活和高效地编写Python代码,实现复杂的逻辑处理和数据操作。

推荐文章