Python——map、reduce、filter函数

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]

猜你喜欢

转载自blog.csdn.net/ewfwewef/article/details/108754943
今日推荐