【python】详解map函数的用法之函数并行作用解析

Python函数编程中的map(func, seq1[, seq2,…]) 函数是将func作用于seq中的每一个元素其中seq须是可迭代对象,并将所有的调用的结果作为一个list返回。如果func为None,作用同zip()

本文参考自:Python中map()函数浅析一文,感谢精彩分享。

下面举得例子来帮助我们更好的理解这个工作过程:

1、对可迭代函数’iterable’中的每一个元素应用‘function’方法,将结果作为list返回。

2、如果给出了额外的可迭代参数,则对每个可迭代参数中的元素‘并行’的应用‘function’。(翻译的不好,这里的关键是‘并行’)

3、在python2中,如果’function’给出的是‘None’,自动假定一个‘identity’函数,此时等同于zip函数【将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)。若传入参数的长度不等,boat怎么读则返回list的长度和参数中长度最短的对象相同。利用*号操作符,可以将list unzip(解压)。】
注:python3中已经没有这个用法。

4、不等同于使用列表解析,列表解析的原理是(嵌套for循环)做了笛卡尔乘积

5、使用map()函数可以实现将其他类型的数转换成list,但是这种转换也是有类型限制的;

因此,对给定可迭代对象进行转换数据类型时,需要将数据的类型与转换函数相对应

猜你喜欢

转载自www.cnblogs.com/zhaolide/p/10026344.html