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中处理字符串之islower()方法的使用简介
May 19 Python
Python实现二分查找算法实例
May 26 Python
用Python3创建httpServer的简单方法
Jun 04 Python
Python txt文件加入字典并查询的方法
Jan 15 Python
python的pytest框架之命令行参数详解(上)
Jun 27 Python
python爬取百度贴吧前1000页内容(requests库面向对象思想实现)
Aug 10 Python
python openvc 裁剪、剪切图片 提取图片的行和列
Sep 19 Python
python报错: 'list' object has no attribute 'shape'的解决
Jul 15 Python
详解Python中import机制
Sep 11 Python
Python实现树莓派摄像头持续录像并传送到主机的步骤
Nov 30 Python
总结Pyinstaller打包的高级用法
Jun 28 Python
Python实现PIL图像处理库绘制国际象棋棋盘
Jul 16 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获取网络上文件
2006/10/09 PHP
生成静态页面的PHP类
2006/11/25 PHP
php URL验证正则表达式
2011/07/19 PHP
PHP 杂谈《重构-改善既有代码的设计》之五 简化函数调用
2012/05/07 PHP
javascript XML数据显示为HTML一例
2008/12/23 Javascript
通过javascript获取iframe里的值示例代码
2013/06/24 Javascript
从js向Action传中文参数出现乱码问题的解决方法
2013/12/29 Javascript
jquery操作checked属性以及disabled属性的多种方法
2014/06/20 Javascript
使用变量动态设置js的属性名
2014/10/19 Javascript
JavaScript获取指定元素位置的方法
2015/04/08 Javascript
JavaScript中setTimeout和setInterval函数的传参及调用
2016/03/11 Javascript
Zero Clipboard实现浏览器复制到剪贴板的方法(多个复制按钮)
2016/03/24 Javascript
浅析jquery如何判断滚动条滚到页面底部并执行事件
2016/04/29 Javascript
实例分析js事件循环机制
2017/12/13 Javascript
Angular5.1新功能分享
2017/12/21 Javascript
Vue完整项目构建(进阶篇)
2018/02/10 Javascript
jQuery基于Ajax实现读取XML数据功能示例
2018/05/31 jQuery
ES6中let、const的区别及变量的解构赋值操作方法实例分析
2019/10/15 Javascript
使用JavaScrip模拟实现仿京东搜索框功能
2019/10/16 Javascript
vue图片上传组件使用详解
2019/12/23 Javascript
使用PYTHON接收多播数据的代码
2012/03/01 Python
Python中dictionary items()系列函数的用法实例
2014/08/21 Python
在Mac OS上使用mod_wsgi连接Python与Apache服务器
2015/12/24 Python
Python中使用装饰器来优化尾递归的示例
2016/06/18 Python
Django 拆分model和view的实现方法
2019/08/16 Python
numpy数组做图片拼接的实现(concatenate、vstack、hstack)
2019/11/08 Python
Python语言异常处理测试过程解析
2020/01/08 Python
Application Cache未缓存文件无法访问无法加载问题
2014/05/31 HTML / CSS
Steiff台湾官网:德国金耳釦泰迪熊
2019/12/26 全球购物
军训自我鉴定200字
2014/02/13 职场文书
党代会心得体会
2014/09/04 职场文书
泸县召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
中国世界遗产导游词
2015/02/13 职场文书
幽灵公主观后感
2015/06/09 职场文书
uniapp开发小程序的经验总结
2021/04/08 Javascript
MySQL常用慢查询分析工具详解
2022/08/14 MySQL