Python的map和reduce

map():

map()函数接收两个参数,一个是函数,一个是Iterable

>>> l = [i for i in range(10)]   #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(map(str, l))
['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']

先用列表生成式生成列表,

str为转换为字符串的函数,

map函数则把列表的每个元素都应用str函数

reduce():

>>> l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> from functools import reduce
>>> def foo(x,y):
	return x - y

>>> reduce(foo,l)
-45

这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算

猜你喜欢

转载自www.cnblogs.com/kwebi/p/9127710.html
今日推荐