一、Map
让我们先来一个问题,如何将a=[1,2,3,5,6]这个数组,转换成字符型的数组?
1.1 解法1
a=[1,2,3,5,6]
b=[str(i) for i in a]
print(b)
['1', '2', '3', '5', '6']
1.2 解法2
a=[1,2,3,5,6]
b=list(map(str,a))
print(b)
['1', '2', '3', '5', '6']
两种方法似乎都很好的解决了这个问题,那么Map比列表解析强在哪里呢?
list(map(lambda x,y:x*y,[1,2,3],[4,5,6]))
[4, 10, 18]
Map能接收多个Iterable,而列表解析一般只接受一个数组。
这是我自己找的栗子,如果有不对的地方,欢迎留言打脸啊
1.3 函数用法
- map()函数接收两个参数,一个是函数,一个是 Iterable,
- map 将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator 返回
二、Reduce
- 对于Reduce的介绍,我觉得不需要进行介绍了,因为Reduce已经不在Python3 的标准库里了
- 原因居然是:
因为
Guido
先生讨厌reduce
。(Because Guido [hates it]
(http://www.artima.com/weblogs/viewpost.jsp?thread=98196)
秉承宁缺毋滥的精神,就暂且介绍这么多吧。
如果喜欢就给我点个赞呗,你的喜欢是我继续分享的动力