python中map()与zip()操作方法


Posted in Python onFebruary 27, 2016

对于map()它的原型是:map(function,sequence),就是对序列sequence中每个元素都执行函数function操作。
比如之前的a,b,c = map(int,raw_input().split()),意思就是说把输入的a,b,c转化为整数。再比如:

a = ['1','2','3','4']
print map(list,a)
print map(int,a)

第一个map是把列表a中每个元素转化为列表,第二个map是把a中每个元素转化为整数。
而对于zip(),原型是zip(*list),list是一个列表,zip(*list)返回的是一个元组,比如:

list = [[1,2,3],[4,5,6],[7,8,9]]
t = zip(*list)
print t

输出:[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

x = [1,2,3,4,5]
y = [6,7,8,9,10]
a = zip(x,y)
print a

输出:[(1, 6), (2, 7), (3, 8), (4, 9), (5, 10)]

下面是一些补充:

[python] 
>>> list = [[0,1,2],[3,1,4]] 
>>> [sum(x) for x in list] 
[3, 8] 
>>> map(sum,list) 
[3, 8]

如果要得到每列之和,需要用zip(*list)先unzip list,得到一个元组list,其中第i个元组包含了每行的第i个元素:

[python] 
>>> list = [[0,1,2],[3,1,4]] 
>>> zip(*list) 
[(0, 3), (1, 1), (2, 4)] 
>>> [sum(x) for x in zip(*list)] 
[3, 2, 6] 
>>> map(sum,zip(*list)) 
[3, 2, 6]

下面的例子是关于zip和unzip(其实是zip和*一起用)如何work的:

[python] 
>>> x=[1,2,3] 
>>> y=[4,5,6] 
>>> zipped = zip(x,y) 
>>> zipped 
[(1, 4), (2, 5), (3, 6)] 
>>> x2,y2=zip(*zipped) 
>>> x2 
(1, 2, 3) 
>>> y2 
(4, 5, 6) 
>>> x3,y3=map(list,zip(*zipped)) 
>>> x3 
[1, 2, 3] 
>>> y3 
[4, 5, 6]
Python 相关文章推荐
Python 中 list 的各项操作技巧
Apr 13 Python
Python序列化基础知识(json/pickle)
Oct 19 Python
Python开发最牛逼的IDE——pycharm
Aug 01 Python
Django使用paginator插件实现翻页功能的实例
Oct 24 Python
python简单验证码识别的实现方法
May 10 Python
python实现动态创建类的方法分析
Jun 25 Python
Django中使用session保持用户登陆连接的例子
Aug 06 Python
python利用appium实现手机APP自动化的示例
Jan 26 Python
Python 使用dict实现switch的操作
Apr 07 Python
Django集成富文本编辑器summernote的实现步骤
May 31 Python
Pandas-DataFrame知识点汇总
Mar 16 Python
基于PyQt5制作一个群发邮件工具
Apr 08 Python
python中input()与raw_input()的区别分析
Feb 27 #Python
python PIL模块与随机生成中文验证码
Feb 27 #Python
Pythont特殊语法filter,map,reduce,apply使用方法
Feb 27 #Python
python 网络爬虫初级实现代码
Feb 27 #Python
Python数据库的连接实现方法与注意事项
Feb 27 #Python
学习python之编写简单简单连接数据库并执行查询操作
Feb 27 #Python
学习python之编写简单乘法口诀表实现代码
Feb 27 #Python
You might like
dede3.1分页文字采集过滤规则详说(图文教程)续四
2007/04/03 PHP
PHP系统命令函数使用分析
2013/07/05 PHP
利用laravel搭建一个迷你博客实战教程
2017/08/13 PHP
Javascript中实现trim()函数的两种方法
2015/02/04 Javascript
javascript实现百度地图鼠标滑动事件显示、隐藏
2015/04/02 Javascript
jQuery zclip插件实现跨浏览器复制功能
2015/11/02 Javascript
浅谈String.valueOf()方法的使用
2016/06/06 Javascript
JS导出PDF插件的方法(支持中文、图片使用路径)
2016/07/12 Javascript
Bootstrap3 内联单选和多选框
2016/12/29 Javascript
Angularjs实现上传图片预览功能
2017/09/01 Javascript
angularjs路由传值$routeParams详解
2020/09/05 Javascript
js最实用string(字符串)类型的使用及截取与拼接详解
2019/04/26 Javascript
Node.js 实现简单的无侵入式缓存框架的方法
2019/07/21 Javascript
微信接入之获取用户头像的方法步骤
2019/09/23 Javascript
解决vue-cli项目开发运行时内存暴涨卡死电脑问题
2019/10/29 Javascript
Nodejs实现WebSocket代码实例
2020/05/19 NodeJs
vuex 多模块时 模块内部的mutation和action的调用方式
2020/07/24 Javascript
Python实现图片滑动式验证识别方法
2017/11/09 Python
python用户评论标签匹配的解决方法
2018/05/31 Python
win8下python3.4安装和环境配置图文教程
2018/07/31 Python
利用nohup来开启python文件的方法
2019/01/14 Python
python通过opencv实现图片裁剪原理解析
2020/01/19 Python
python反扒机制的5种解决方法
2021/02/06 Python
简单html5代码获取地理位置
2014/03/31 HTML / CSS
canvas生成带二维码海报的踩坑记录
2019/09/11 HTML / CSS
美国演唱会订票网站:Ticketmaster美国
2017/10/05 全球购物
西铁城美国官方网站:Citizen Watch美国
2019/11/08 全球购物
发展部经理职责规定
2014/02/22 职场文书
入职担保书范文
2014/05/21 职场文书
禁烟标语大全
2014/06/11 职场文书
竞选班干部演讲稿300字
2014/08/20 职场文书
学校感恩节活动策划方案
2014/10/06 职场文书
2014年社区计生工作总结
2014/11/18 职场文书
2015年小学校长工作总结
2015/05/19 职场文书
学生党支部工作总结2015
2015/05/26 职场文书
教你怎么用Python操作MySql数据库
2021/05/31 Python