python中map的基本用法示例


Posted in Python onSeptember 10, 2018

map()函数

map() 会根据提供的函数对指定序列做映射,是内置函数

第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

语法

map(function, iterable, ...)

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

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

python中map的基本用法示例

例如,对于list [1, 2, 3, 4, 5, 6, 7, 8, 9]

如果希望把list的每个元素都作平方,就可以用map()函数:

因此,我们只需要传入函数f(x)=x*x,就可以利用map()函数完成这个计算:

def f(x):
 return x*x
print map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])

输出结果:

[1, 4, 9, 10, 25, 36, 49, 64, 81]

注意:map()函数不改变原有的 list,而是返回一个新的 list。

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

由于list包含的元素可以是任何类型,因此,map() 不仅仅可以处理只包含数值的 list,事实上它可以处理包含任意类型的 list,只要传入的函数f可以处理这种数据类型。

假设用户输入的英文名字不规范,没有按照首字母大写,后续字母小写的规则,请利用map()函数,把一个list(包含若干不规范的英文名字)变成一个包含规范英文名字的list:

输入:['adam', 'LISA', 'barT']

输出:['Adam', 'Lisa', 'Bart']

def format_name(s):
 s1=s[0:1].upper()+s[1:].lower();
 return s1;
print map(format_name, ['adam', 'LISA', 'barT'])

2、当seq多于一个时,map可以并行(注意是并行)地对每个seq执行如下图所示的过程:

python中map的基本用法示例

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

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

python3中可以处理类表长度不一致的情况,但无法处理类型不一致的情况,
l4=map(lambda x,y:(x**y,x+y),[1,2,3],[1,2])
for i in l4:
 print(i)

l4=map(lambda x,y:(x**y,x+y),[1,2,3],[1,2,'a'])
for i in l4:
 print(i)

特殊用法,做类型转换: 

l=map(int,'1234')
for i in l:
 print(type(i))
 print(i)

如果函数是 None,自动假定一个‘identity'函数,这时候就是模仿 zip()函数,

l=[1,2,3]
x=map(None,l)
print(x)

这时候 None 类型不是一个可以调用的对象。所以他没法返回值。

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

>>> print map(None, [2,4,6],[3,2,1])
[(2, 3), (4, 2), (6, 1)]

但是在 python3中,返回是一个迭代器,所以它其实是不可调用的

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
python查找目录下指定扩展名的文件实例
Apr 01 Python
Python实现爬取需要登录的网站完整示例
Aug 19 Python
Python基础练习之用户登录实现代码分享
Nov 08 Python
python读取文本绘制动态速度曲线
Jun 21 Python
Python中的单行、多行、中文注释方法
Jul 19 Python
python协程之动态添加任务的方法
Feb 19 Python
Python实现制度转换(货币,温度,长度)
Jul 14 Python
Python类中的魔法方法之 __slots__原理解析
Aug 26 Python
python实现简单日志记录库glog的使用
Dec 13 Python
使用python采集Excel表中某一格数据
May 14 Python
Python如何使用input函数获取输入
Aug 06 Python
python中openpyxl和xlsxwriter对Excel的操作方法
Mar 01 Python
python2 与 pyhton3的输入语句写法小结
Sep 10 #Python
django DRF图片路径问题的解决方法
Sep 10 #Python
详解python中Numpy的属性与创建矩阵
Sep 10 #Python
tensorflow使用神经网络实现mnist分类
Sep 08 #Python
Python unittest单元测试框架总结
Sep 08 #Python
tensorflow实现加载mnist数据集
Sep 08 #Python
使用tensorflow实现线性回归
Sep 08 #Python
You might like
php+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
2007/03/07 PHP
PHP5中Cookie与 Session使用详解
2013/04/30 PHP
thinkphp实现图片上传功能分享
2014/03/04 PHP
采用ThinkPHP中F方法实现快速缓存实例
2014/06/13 PHP
PHP中类型转换 ,常量,系统常量,魔术常量的详解
2017/10/26 PHP
使用laravel的Eloquent模型如何获取数据库的指定列
2019/10/17 PHP
在IE中调用javascript打开Excel的代码(downmoon原作)
2007/04/02 Javascript
Save a File Using a File Save Dialog Box
2007/06/18 Javascript
doctype后如何获得body.clientHeight的方法
2007/07/11 Javascript
jquery.fileEveryWhere.js 一个跨浏览器的file显示插件
2011/10/24 Javascript
jQuery使用$.ajax提交表单完整实例
2015/12/11 Javascript
基于jQuery实现点击最后一行实现行自增效果的表格
2016/01/12 Javascript
jQuery实现图片向左向右切换效果的简单实例
2016/05/18 Javascript
jQuery通过ajax请求php遍历json数组到table中的代码(推荐)
2016/06/12 Javascript
vue.js通过自定义指令实现数据拉取更新的实现方法
2016/10/18 Javascript
JavaScript箭头(arrow)函数详解
2017/06/04 Javascript
AngularJS中controller控制器继承的使用方法
2017/11/03 Javascript
JS块级作用域和私有变量实例分析
2019/05/11 Javascript
Vue多环境代理配置方法思路详解
2019/06/21 Javascript
jquery实现直播视频弹幕效果
2020/02/25 jQuery
编写一个javascript元循环求值器的方法
2020/04/14 Javascript
js屏蔽F12审查元素,禁止修改页面代码等实现代码
2020/10/02 Javascript
vue+element_ui上传文件,并传递额外参数操作
2020/12/05 Vue.js
[00:33]DOTA2上海特级锦标赛 CDEC战队宣传片
2016/03/04 DOTA
[36:54]Mineski vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python的Scrapy爬虫框架简单学习笔记
2016/01/20 Python
python3实现暴力穷举博客园密码
2016/06/19 Python
Python3.6日志Logging模块简单用法示例
2018/06/14 Python
Python标准库使用OrderedDict类的实例讲解
2019/02/14 Python
使用Python+wxpy 找出微信里把你删除的好友实例
2019/02/21 Python
Python 处理文件的几种方式
2019/08/23 Python
解决Python 异常TypeError: cannot concatenate 'str' and 'int' objects
2020/04/08 Python
html5 canvas绘制矩形和圆形的实例代码
2016/06/16 HTML / CSS
美国专营婴幼儿用品的购物网站:buybuy BABY
2017/01/01 全球购物
《黄山奇石》教学反思
2014/04/19 职场文书
2015年人事专员工作总结
2015/04/29 职场文书