欢迎访问宙启技术站
智能推送

Python常用函数详解——map、filter、reduce

发布时间:2023-06-21 02:08:03

Python 提供了三个常用的函数,分别是 map、filter、reduce。这三个函数都接受一个函数和一个可迭代对象作为参数,并且都返回一个可迭代对象。

1. map 函数

map 函数可以对可迭代对象中的每个元素应用一个函数,并将结果存储在一个生成器中返回。例如,将一个列表中的所有元素进行平方操作:

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

2. filter 函数

filter 函数会对可迭代对象中的每个元素应用一个函数,如果函数返回值为 True,则将该元素存储在一个生成器中返回。例如,将一个列表中的所有偶数筛选出来:

lst = [1, 2, 3, 4, 5]
even = filter(lambda x: x % 2 == 0, lst)
print(list(even))   # [2, 4]

3. reduce 函数

reduce 函数对可迭代对象中的每个元素应用一个函数,然后将结果缩减为一个单一的值并返回。例如,计算一个列表中所有数字的和:

from functools import reduce

lst = [1, 2, 3, 4, 5]
total = reduce(lambda x, y: x+y, lst)
print(total)   # 15

这里利用了 functools 模块中的 reduce 函数。

以上就是这三个常用函数的详细解释。它们可以使我们在 Python 程序中更加高效地处理数据。