【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,但是这种转换也是有类型限制的;

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

原文地址:https://www.cnblogs.com/zhaolide/p/10026344.html

时间: 2024-08-26 14:41:50

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

实例详解Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化(二)

这是本系列的第二篇,内容是 prefetch_related() 函数的用途.实现途径.以及使用方法. 本系列的第一篇在这里 3. prefetch_related() 对于多对多字段(ManyToManyField)和一对多字段,可以使用prefetch_related()来进行优化.或许你会说,没有一个叫OneToManyField的东西啊.实际上 ,ForeignKey就是一个多对一的字段,而被ForeignKey关联的字段就是一对多字段了. 作用和方法 prefetch_related(

实例详解Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化(一)

在数据库有外键的时候,使用 select_related() 和 prefetch_related() 可以很好的减少数据库请求的次数,从而提高性能.本文通过一个简单的例子详解这两个函数的作用.虽然QuerySet的文档中已经详细说明了,但本文试图从QuerySet触发的SQL语句来分析工作方式,从而进一步了解Django具体的运作方式. 本来打算写成一篇单独的文章的,但是写完select_related()之后发现长度已经有点长了,所以还是写成系列,大概在两到三篇.整个完成之后将会在这里添加上

详解map、multimap、unordered_map、unordered_multimap

详解map.multimap.unordered_map.unordered_multimap 相信有不少同学和我一样刚接触C++ STL,被其深深吸引.但是想弄懂每个模板类不是一个容易事.大家应该对vector.list.stack.queue等类比较了解了,所以今天详细介绍下几个很常用很强大但有点不太好懂的类map.multimap.unordered_map.unordered_multimap.乍一看都差不多都是什么map,但这肯定有所不同.下面就在一个一个讲解的同时,让大家了解这四个类

实例详解Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化(三)

这是本系列的最后一篇,主要是select_related() 和 prefetch_related() 的最佳实践. 第一篇在这里 讲例子和select_related() 第二篇在这里 讲prefetch_related() 4. 一些实例 选择哪个函数 如果我们想要获得所有家乡是湖北的人,最无脑的做法是先获得湖北省,再获得湖北的所有城市,最后获得故乡是这个城市的人.就像这样: >>> hb = Province.objects.get(name__iexact=u"湖北省&

python 详解re模块(转载)

正则表达式的元字符有. ^ $ * ? { [ ] | ( ).表示任意字符[]用来匹配一个指定的字符类别,所谓的字符类别就是你想匹配的一个字符集,对于字符集中的字符可以理解成或的关系.^ 如果放在字符串的开头,则表示取非的意思.[^5]表示除了5之外的其他字符.而如果^不在字符串的开头,则表示它本身. 具有重复功能的元字符:* 对于前一个字符重复0到无穷次对于前一个字符重复1到无穷次?对于前一个字符重复0到1次{m,n} 对于前一个字符重复次数在为m到n次,其中,{0,} = *,{1,} =

这个贴子的内容值得好好学习--实例详解Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化

感觉要DJANGO用得好,ORM必须要学好,不管理是内置的,还是第三方的ORM. 最最后还是要到SQL.....:( 这一关,慢慢练啦.. 实例详解Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化 http://blog.jobbole.com/75435/

C++多态篇2——虚函数表详解之从内存布局看函数重载,函数覆盖,函数隐藏

上一篇C++多态篇1一静态联编,动态联编.虚函数与虚函数表vtable中,我在最后分析了虚函数与虚函数表的内存布局,在下一篇详细剖析虚函数及虚函数表的过程中,我发现有关函数重载,函数覆盖,函数重写和函数协变的知识也要理解清楚才能对虚函数表在内存中的布局,对派生类的对象模型以及对多态的实现有更深的理解. 所以这一篇我作为一篇过渡篇,也同时对我以前写过的一篇博文进行一个收尾.在C++继承详解之二--派生类成员函数详解(函数隐藏.构造函数与兼容覆盖规则)文章中,我对函数覆盖,重载,重写提了一下,但是没

register_shutdown_function函数详解--脚本退出时执行回调函数

register_shutdown_function — Register a function for execution on shutdown. ps:Registers a callback to be executed after script execution finishes or exit() is called. 1.脚本时常死掉,而且并不总是那么好看.我们可不想给用户显示一个致命错误,又或者一个空白页(在display_errors设为off的情况下) . PHP中有一个叫

实例详解C#抽象类及其用法(转)

今天学习抽象类和方法,对应该什么时候使用大伤脑筋,百度文库中找到一篇<实例详解C#抽象类及其用法>,觉得该例子通俗易懂,很好地解释了为什么要使用.如何使用抽象类和抽象方法,遂复制过来留存. 假如现在要开发一个模拟CS的游戏.要求如下: 1.游戏中要有恐怖分子,一个恐怖分子一次只能持有一支枪 2.游戏中有多种枪支 3.恐怖分子可以选择枪支使用 4.恐怖分子可以开枪杀人仅此4条,为了使程序足够简单,能说明我们主要目标就行,所以我们用控制台程序来模拟实现. 方法1我们先来看第一种实现情况,假设,游戏

Scala 深入浅出实战经典 第60讲:Scala中隐式参数实战详解以及在Spark中的应用源码解析

王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 腾讯微云:http://url.cn/TnGbdC 360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2土豆:http://www.tudou.com/programs/view/IVN4EuFlmKk/优酷:http://v.youku.com/v_show/id_