map函数是Python内置的高阶函数,它是一个典型的函数式编程例子。
它的参数为: 一个函数function、一个或多个sequence。
通过把函数function依次作用在sequence的每个元素上,得到一个新的sequence并返回。
注意:map函数不改变原有的sequence,而是返回一个新的sequence。

以列表为例说明:
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9,10]
希望得到lst中每个元素的平方,这时我们就可以用到map函数。

#Python版本: 3.3.4
#1.常规方法
>>> lst = [1, 2, 3, 4, 5, 6, 7, 8, 9,10]
>>> def square(x):
return x**2 >>> list(map(square,lst)) #Python2.x使用map(square,lst)
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100] #2.使用lambda函数
>>> list(map(lambda x:x**2,lst)) #Python2.x使用map(lambda x:x**2,lst)
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100] >>> [(lambda x:x**2)(x) for x in lst]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100] #map函数除了作用于数字列表外,还可以作用于字符串和元组。
#例如:
>>> list(map(ord,'abcdef'))
[97, 98, 99, 100, 101, 102] #当传入多个可迭代对象时,且它们元素长度不一致时,生成的迭代器只到最短长度
>>> list(map(lambda x,y:x+y,'abc','de'))
['ad', 'be']

map函数用法详解的更多相关文章

  1. js数组中foEach和map的用法详解 jq中的$.each和$.map

    数组中foEach和map的用法详解 相同点: 1.都是循环遍历数组(仅仅是数组)中的每一项. 2.forEach() 和 map() 里面每一次执行匿名函数都支持3个参数:数组中的当前项value, ...

  2. STL map 常见用法详解

    <算法笔记>学习笔记 map 常见用法详解 map翻译为映射,也是常用的STL容器 map可以将任何基本类型(包括STL容器)映射到任何基本类型(包括STL容器) 1. map 的定义 / ...

  3. SQL中CONVERT()函数用法详解

    SQL中CONVERT函数格式: CONVERT(data_type,expression[,style]) 参数说明: expression 是任何有效的 Microsoft® SQL Server ...

  4. php中setcookie函数用法详解(转)

    php中setcookie函数用法详解:        php手册中对setcookie函数讲解的不是很清楚,下面是我做的一些整理,欢迎提出意见.        语法:        bool set ...

  5. eval()函数用法详解

    eval()函数用法详解:此函数可能使用的频率并不是太高,但是在某些情况下具有很大的作用,下面就介绍一下eval()函数的用法.语法结构: eval(str) 此函数可以接受一个字符串str作为参数, ...

  6. 转载 LayoutInflater的inflate函数用法详解

    http://www.open-open.com/lib/view/open1328837587484.html LayoutInflater的inflate函数用法详解 LayoutInflater ...

  7. delphi中Application.MessageBox函数用法详解

    delphi中Application.MessageBox函数用法详解 Application.MessageBox是TApplication的成员函数,声明如下:functionTApplicati ...

  8. C语言对文件的操作函数用法详解2

    fopen(打开文件) 相关函数 open,fclose 表头文件 #include<stdio.h> 定义函数 FILE * fopen(const char * path,const  ...

  9. C语言对文件的操作函数用法详解1

    在ANSIC中,对文件的操作分为两种方式,即: 流式文件操作 I/O文件操作 一.流式文件操作 这种方式的文件操作有一个重要的结构FILE,FILE在stdio.h中定义如下: typedef str ...

随机推荐

  1. Bootstrap 栅格系统简单整理

    Bootstrap内置了一套响应式.移动设备优先的流式栅格系统,随着屏幕设备或视口(viewport)尺寸的增加,系统会自动分为最多12列. 总结一下我近期的学习Bootstrap的一些理解: 一.. ...

  2. API之实用工具Postman 使用方法

    测试接口与文档信息文件 Postman 安装与入门教程 下载与安装 官方网站:www.getpostman.com 下载完成后,直接安装 输入2次邮箱,密码,即可注册并登陆! 开发者使用: 创建文件夹 ...

  3. flask +gevent+nginx+Gunicorn+supervisor部署flask应用

    上篇   可以完美部署flask ,但是视乎在结合gevent+apscheduler 实现异步非阻塞后台和定时任务的时候视乎不是那么完美.请教了前辈,决定使用flask+gevent+nginx+g ...

  4. Docker:云栖社区开源论题及Spark开源论题

    https://yq.aliyun.com/topic/78?spm=5176.8290451.656547.7.rMYhAF https://yq.aliyun.com/activity/155?u ...

  5. Java:日期类Date与Calendar

    Timestamp类型与日期类型之间的转化? Timestamp timestamp = Timestamp.valueOf("2017-03-17 07:00:00"); Dat ...

  6. c语言清屏、等待、随机函数

    清屏函数 #include<conio.h> system("CLS");或system(cls); 等待函数 #include<windows.h>  S ...

  7. 1.4 正则化 regularization

    如果你怀疑神经网络过度拟合的数据,即存在高方差的问题,那么最先想到的方法可能是正则化,另一个解决高方差的方法就是准备更多数据,但是你可能无法时时准备足够多的训练数据,或者获取更多数据的代价很高.但正则 ...

  8. 卷积神经网络(CNN)中卷积的实现

    卷积运算本质上就是在滤波器和输入数据的局部区域间做点积,最直观明了的方法就是用滑窗的方式,c++简单实现如下: 输入:imput[IC][IH][IW] IC = input.channels IH ...

  9. hue上配置HA的hdfs文件(注意,HA集群必须这样来配置才能访问hdfs文件系统)

    按照正常方式配置,发现无论如何也访问不了hdfs文件系统,因为我们是HA的集群,所以不能按照如下配置 将其改为 除此之外,还需要配置hdfs文件的 接着要去hadoop的目录下启动httpfs.sh ...

  10. Google Cardboard的九轴融合算法——基于李群的扩展卡尔曼滤波

    Google Cardboard的九轴融合算法 --基于李群的扩展卡尔曼滤波 极品巧克力 前言 九轴融合算法是指通过融合IMU中的加速度计(三轴).陀螺仪(三轴).磁场计(三轴),来获取物体姿态的方法 ...