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

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

服务器学习网综合整理   2024-06-03 18:42:43

一、map()函数 map()是Python中的一个内置高阶函数,它接收两个参数:一个函数和一个可迭代对象(如列表、元组等)。map()函数将传入的函数依次作用到可迭代对象的每个元素上,并返回一个新的迭代器,其中包含了函数作用后的结果。 例如,我们有一个整数列表,想要对每个元素求平方,可以这样做: ...

在Python的编程世界中,高阶函数是一类非常强大且灵活的工具。它们能够接受其他函数作为参数,或者返回一个新的函数。高阶函数的存在使得代码更加模块化和可重用,极大地提高了编程效率。接下来,我们就来详细了解一下Python中的几个内置高阶函数及其用法。

一、map()函数

map()是Python中的一个内置高阶函数,它接收两个参数:一个函数和一个可迭代对象(如列表、元组等)。map()函数将传入的函数依次作用到可迭代对象的每个元素上,并返回一个新的迭代器,其中包含了函数作用后的结果。

例如,我们有一个整数列表,想要对每个元素求平方,可以这样做:

numbers = [1, 2, 3, 4, 5]
squared = map(lambda x: x**2, numbers)
print(list(squared))  # 输出: [1, 4, 9, 16, 25]

二、filter()函数

filter()函数也是Python的一个内置高阶函数,它用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。该函数接收两个参数:一个函数和一个序列,函数用于测试每个元素,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

例如,我们有一个字符串列表,想要过滤出其中所有的大写字符串:

words = ['Apple', 'banana', 'Cherry', 'date']
upper_case_words = filter(str.isupper, words)
print(list(upper_case_words))  # 输出: [](因为列表中没有全大写的字符串)

三、reduce()函数

reduce()函数是Python的functools模块中的一个高阶函数(注意:在Python 3中,reduce()不再作为内置函数存在,需要导入functools模块才能使用)。它接收一个函数和一个序列,通过连续应用这个函数来减少序列中的项数,最终得到一个单一的输出值。

例如,我们想要计算一个列表中所有元素的和:

from functools import reduce

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

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

以上就是Python中常见的几个内置高阶函数及其用法。map()filter()reduce()等函数在数据处理和函数式编程中扮演着重要的角色,它们能够极大地简化代码结构,提高代码的可读性和可维护性。作为一名合格的Python程序员,掌握这些内置高阶函数是非常必要的。

推荐文章