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实现xml与数据库读取转换的方法
Jun 17 Python
Python对象类型及其运算方法(详解)
Jul 05 Python
Python遍历numpy数组的实例
Apr 04 Python
深入分析python数据挖掘 Json结构分析
Apr 21 Python
Python学习小技巧总结
Jun 10 Python
浅谈python之高阶函数和匿名函数
Mar 21 Python
python使用writerows写csv文件产生多余空行的处理方法
Aug 01 Python
python argparser的具体使用
Nov 10 Python
Python读取配置文件(config.ini)以及写入配置文件
Apr 08 Python
Python如何实现机器人聊天
Sep 10 Python
浅析python函数式编程
Sep 26 Python
golang特有程序结构入门教程
Jun 02 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
php数字运算验证码的实现代码
2015/07/30 PHP
PHP中一个有趣的preg_replace函数详解
2018/08/15 PHP
PHP微信支付结果通知与回调策略分析
2019/01/10 PHP
基于jQuery的message插件实现右下角弹出消息框
2011/01/11 Javascript
js,jQuery 排序的实现代码,网页标签排序的实现,标签排序
2011/04/27 Javascript
jQuery表单验证插件formValidator(改进版)
2012/02/03 Javascript
javascript实现tabs选项卡切换效果(扩展版)
2013/03/19 Javascript
jquery scroll()区分横向纵向滚动条的方法
2014/04/04 Javascript
javascript实现给定半径求出圆的面积
2015/06/26 Javascript
jquery实现选中单选按钮下拉伸缩效果
2015/08/06 Javascript
javascript判断firebug是否开启的方法
2016/11/23 Javascript
jQuery表格(Table)基本操作实例分析
2017/03/10 Javascript
JavaScript实现的原生态Tab标签页功能【兼容IE6】
2017/09/18 Javascript
React数据传递之组件内部通信的方法
2017/12/31 Javascript
微信小程序实现留言板(Storage)
2018/11/02 Javascript
JavaScript使用小插件实现倒计时的方法讲解
2019/03/11 Javascript
[58:46]OG vs NAVI 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python 文件操作技巧(File operation) 实例代码分析
2008/08/11 Python
Python SQLite3数据库操作类分享
2014/06/10 Python
Windows 8.1 64bit下搭建 Scrapy 0.22 环境
2018/11/18 Python
python项目对接钉钉SDK的实现
2019/07/15 Python
Python 实现数据结构-循环队列的操作方法
2019/07/17 Python
python爬虫库scrapy简单使用实例详解
2020/02/10 Python
web字体加载方案优化小结
2019/11/29 HTML / CSS
美国玛丽莎收藏奢华时尚商店:Marissa Collections
2016/11/21 全球购物
俄罗斯最大的在线手表商店:Bestwatch.ru
2020/01/11 全球购物
事业单位个人应聘自荐信
2013/09/21 职场文书
工程现场管理求职自荐信
2013/10/02 职场文书
法学专业毕业生自荐信范文
2013/12/18 职场文书
写给学生的新学期寄语
2014/01/18 职场文书
公益活动邀请函
2014/02/05 职场文书
植物生产学专业求职信
2014/08/08 职场文书
计算机实训报告范文
2014/11/05 职场文书
婚庆答谢词大全
2015/09/29 职场文书
广告文案的撰写技巧(实用干货)
2019/08/23 职场文书
python脚本框架webpy的url映射详解
2021/11/20 Python