map
map(function, iterable, ...)
参数:
function 函数,常用lambda表达式
iterable 一个或多个序列
函数功能:
对序列iterable中的每一个元素调用function,将结果组成新迭代器对象返回
实例:
>>> map(lambda x: x ** 2, range(6))
[0, 1, 4, 9, 16, 25]
# 提供了两个列表,对相同位置的列表数据进行相加
>>> list(map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10]))
[3, 7, 11, 15, 19]
—————————————————————————————————————
reduce
from functools import reduce #使用前需引入
reduce(function, iterable[, initializer])
参数:
function 两个参数的函数,常用lambda表达式
iterable 序列
initializer 可选,初始参数
函数功能:
先对序列iterable中的前两个元素调用function,将返回值与第三个元素一起调用function,依次类推,将最后一次调用function的结果返回。
实例:
#计算0 + 1 + 2 + 3 + 4 + 5
>>> reduce(lambda x, y: x + y, range(6))
15
#计算1!+2!+3!+4!+5!
>>> reduce(lambda m, n: m + reduce(lambda y, z: y*z, range(1, n+1)), range(1, 6))
153
—————————————————————————————————————
filter
filter(function, iterable)
参数:
function 判断函数,返回bool
iterable 序列
函数功能:
对序列iterable中的元素依次调用function,将function返回值为True的元素组成新迭代器对象返回
实例:
#将range(6)中的偶数组成新列表返回
>>> list(filter(lambda x: x % 2 == 0, range(6)))
[0, 2, 4]