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把结果继续和序列的下一个元素做累积计算

 

posted @ 2018-06-03 01:03  弱冠  阅读(117)  评论(0编辑  收藏  举报