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利用multiprocessing实现最简单的分布式作业调度系统实例
Nov 14 Python
Python将多个excel文件合并为一个文件
Jan 03 Python
python得到单词模式的示例
Oct 15 Python
对python 命令的-u参数详解
Dec 03 Python
Python3+Pycharm+PyQt5环境搭建步骤图文详解
May 29 Python
PyCharm+Qt Designer+PyUIC安装配置教程详解
Jun 13 Python
使用 Python 合并多个格式一致的 Excel 文件(推荐)
Dec 09 Python
如何使用python实现模拟鼠标点击
Jan 06 Python
Python 实现训练集、测试集随机划分
Jan 08 Python
python 图像判断,清晰度(明暗),彩色与黑白实例
Jun 04 Python
Python如何绘制日历图和热力图
Aug 07 Python
Python Selenium XPath根据文本内容查找元素的方法
Dec 07 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 Mysql类 可以参考学习熟悉下
2009/06/21 PHP
php在页面中调用fckeditor编辑器的方法
2011/06/10 PHP
Mysql中分页查询的两个解决方法比较
2013/05/02 PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
2015/03/25 PHP
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
2015/10/23 PHP
浅谈Laravel队列实现原理解决问题记录
2017/08/19 PHP
利用腾讯的ip地址库做ip物理地址定位
2010/07/24 Javascript
JavaScript prototype属性深入介绍
2012/11/27 Javascript
jQuery类选择器用法实例
2014/12/23 Javascript
浅谈javascript中遇到的字符串对象处理
2016/11/18 Javascript
jquery实现文字单行横移或翻转(上下、左右跳转)
2017/01/08 Javascript
教你5分钟学会用requirejs(必看篇)
2017/07/25 Javascript
mint-ui的search组件在键盘显示搜索按钮的实现方法
2017/10/27 Javascript
详解React中合并单元格的正确写法
2019/01/08 Javascript
sortable+element 实现表格行拖拽的方法示例
2019/06/07 Javascript
JS在Array数组中按指定位置删除或添加元素对象方法示例
2019/11/19 Javascript
angular8和ngrx8结合使用的步骤介绍
2019/12/01 Javascript
jQuery实现鼠标滑动切换图片
2020/05/27 jQuery
JavaScript手写数组的常用函数总结
2020/11/22 Javascript
详解ES6 中的Object.assign()的用法实例代码
2021/01/11 Javascript
[42:25]EG vs Spirit Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
Python语言编写电脑时间自动同步小工具
2013/03/08 Python
Python多进程机制实例详解
2015/07/02 Python
Python使用defaultdict读取文件各列的方法
2017/05/11 Python
Python双精度浮点数运算并分行显示操作示例
2017/07/21 Python
python实现手机通讯录搜索功能
2018/02/22 Python
Python File readlines() 使用方法
2018/03/19 Python
Python3.遍历某文件夹提取特定文件名的实例
2018/04/26 Python
Pycharm无法显示动态图片的解决方法
2018/10/28 Python
pyinstaller将含有多个py文件的python程序做成exe
2020/04/29 Python
Python优秀开源项目Rich源码解析的流程分析
2020/07/06 Python
Python虚拟环境的创建和使用详解
2020/09/07 Python
安全生产检讨书
2014/01/21 职场文书
2014法院四风问题对照检查材料思想汇报
2014/10/04 职场文书
歌咏比赛主持词
2015/06/29 职场文书
简单且有用的Python数据分析和机器学习代码
2021/07/02 Python