1. map()函数
  2. map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。

  3. 1、当seq只有一个时,将函数func作用于这个seq的每个元素上,并得到一个新的seq 

  1. 例如,对于list [1, 2, 3, 4, 5, 6, 7, 8, 9]
  2. 如果希望把list的每个元素都作平方,就可以用map()函数:
  3. 因此,我们只需要传入函数f(x)=x*x,就可以利用map()函数完成这个计算:
  4. def f(x):
  5. return x*x
  6. print map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])
  7. 输出结果:
  8. [1, 4, 9, 10, 25, 36, 49, 64, 81]
  9. 注意:map()函数不改变原有的 list,而是返回一个新的 list

利用map()函数,可以把一个 list 转换为另一个 list,只需要传入转换函数。

  1. 由于list包含的元素可以是任何类型,因此,map() 不仅仅可以处理只包含数值的 list,事实上它可以处理包含任意类型的 list,只要传入的函数f可以处理这种数据类型。
  2. 假设用户输入的英文名字不规范,没有按照首字母大写,后续字母小写的规则,请利用map()函数,把一个list(包含若干不规范的英文名字)变成一个包含规范英文名字的list
  3. 输入:['adam', 'LISA', 'barT']
  4. 输出:['Adam', 'Lisa', 'Bart']
  5. def format_name(s):
  6. s1=s[0:1].upper()+s[1:].lower();
  7. return s1;
  8. print map(format_name, ['adam', 'LISA', 'barT'])
2、当seq多于一个时,map可以并行(注意是并行)地对每个seq执行如下图所示的过程:

  1. l2=map(lambda x,y:x**y,[1,2,3],[1,2,3])
    for i in l2:
    print(i)
  2.  
  3. l3=map(lambda x,y:(x**y,x+y),[1,2,3],[1,2,3])
    for i in l3:
    print(i)

  1. python3中可以处理类表长度不一致的情况,但无法处理类型不一致的情况,
    l4=map(lambda x,y:(x**y,x+y),[1,2,3],[1,2])
    for i in l4:
    print(i)
  2. l4=map(lambda x,y:(x**y,x+y),[1,2,3],[1,2,'a'])
    for i in l4:
    print(i)
  3. 特殊用法,做类型转换:
    l=map(int,'1234')
    for i in l:
    print(type(i))
    print(i)
  1. 如果函数是 None,自动假定一个‘identity’函数,这时候就是模仿 zip()函数,
  1. l=[1,2,3]
    x=map(None,l)
    print(x)
    这时候 None 类型不是一个可以调用的对象。所以他没法返回值。

目的是将多个列表相同位置的元素归并到一个元组。如:

  1. >>> print map(None, [2,4,6],[3,2,1])
  2. [(2, 3), (4, 2), (6, 1)]
  1. 但是在 python3中,返回是一个迭代器,所以它其实是不可调用的
 

python-map的用法的更多相关文章

  1. python map 常见用法

    python map 常见用法2017年02月01日 19:32:41 淇怪君 阅读数:548版权声明:欢迎转载,转载请注明出处 https://blog.csdn.net/Tifficial/art ...

  2. python map 的用法

    map的用法 ——.我们来分析map在python的源码 class map(object): """ map(func, *iterables) --> map ...

  3. Python回调函数用法实例详解

    本文实例讲述了Python回调函数用法.分享给大家供大家参考.具体分析如下: 一.百度百科上对回调函数的解释: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函 ...

  4. 浅谈Python在信息学竞赛中的运用及Python的基本用法

    浅谈Python在信息学竞赛中的运用及Python的基本用法 前言 众所周知,Python是一种非常实用的语言.但是由于其运算时的低效和解释型编译,在信息学竞赛中并不用于完成算法程序.但正如LRJ在& ...

  5. python函数的用法

    python函数的用法 目录: 1.定义.使用函数 1.函数定义:def 2.函数调用:例:myprint() 3.函数可以当作一个值赋值给一个变量 例:a=myprint()    a() 4.写r ...

  6. python之pandas用法大全

    python之pandas用法大全 更新时间:2018年03月13日 15:02:28 投稿:wdc 我要评论 本文讲解了python的pandas基本用法,大家可以参考下 一.生成数据表1.首先导入 ...

  7. 8 map的用法

    what's map go里面的map和python字典差不多. 类似其他语言中的哈希表或者字典,以key-value的形式存储的数据 key必须是支持==或者!=比较运算的类型,不可以是函数.map ...

  8. enumerate()和map()函数用法

    一.python enumerate用法 先出一个题目: 1.有一 list= [1, 2, 3, 4, 5, 6] 请打印输出: 0, 1 1, 2 2, 3 3, 4 4, 5 5, 6 打印输出 ...

  9. 用Python 的一些用法与 JS 进行类比,看有什么相似?

    Python 是一门运用很广泛的语言,自动化脚本.爬虫,甚至在深度学习领域也都有 Python 的身影.作为一名前端开发者,也了解 ES6 中的很多特性借鉴自 Python (比如默认参数.解构赋值. ...

  10. Python高阶用法总结

    目录 1. lambda匿名函数 1.1 函数式编程 1.2 应用在闭包 2. 列表解析式 3. enumerate内建函数 4. 迭代器与生成器 4.1 迭代器 4.3 生成器 5. 装饰器 前言: ...

随机推荐

  1. 15.MySQL(三)

    索引类型 先创建表 mysql> CREATE TABLE test( -> id INT, -> username VARCHAR(16), -> city VARCHAR( ...

  2. 面向对象设计模式_生成器模式详解(Builder Pattern)

    首先提出一个很容易想到应用场景: 手机的生产过程:手机有非常多的子件(部件),成千上万,不同品牌的手机的生产过程都是复杂而有所区别的,相同品牌的手机在设计上也因客户需求多样化,大到型号,小到颜色,是否 ...

  3. CDN和CDN加速原理

    随着互联网的发展,用户在使用网络时对网站的浏览速度和效果愈加重视,但由于网民数量激增,网络访问路径过长,从 而使用户的访问质量受到严重影响.特别是当用户与网站之间的链路被突发的大流量数据拥塞时,对于异 ...

  4. Jmeter 相关资源

    官网:http://jmeter.apache.org/ 插件: https://jmeter-plugins.org

  5. ASP.NET部分代码示例

    using System; using System.Collections.Generic; using Model; using System.Data; using System.Data.Sq ...

  6. vue.js设置、获取、删除cookie

    项目需要前端获取后台返回的cookie,并以此作判断.我是在main.js入口文件下使用的 具体代码: new Vue({ el: '#app', router, template: '<App ...

  7. js 显示数字不断增加

    一个小小的函数,很容易看懂,就不过多解释了,只为下次用时直接用就ok了... function countUp(count) { var div_by = 100, speed = Math.roun ...

  8. 20165226 学习基础和C语言基础调查

    心得体会 驱动迭代 学习是一个老师与学生互动的过程,二者关系又恰如健身教练与学员,在进行基础知识的培训后还需借助工具加强相关方面的训练.学习提升的过程离不开学生在实践中发现问题并在老师的帮助下解决问题 ...

  9. 目标检测网络之 YOLOv2

    YOLOv1基本思想 YOLO将输入图像分成SxS个格子,若某个物体 Ground truth 的中心位置的坐标落入到某个格子,那么这个格子就负责检测出这个物体. 每个格子预测B个bounding b ...

  10. 笔记:Jersey REST 传输格式-XML

    XML类型是使用最广泛的数据类型,Jersey 对XML类型的数据处理,支持Java领域的两大标准,即JAXP(Java API for XML Processing,JSR-206)和JAXB(Ja ...