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的Flask框架中配置多个子域名的方法讲解
Jun 07 Python
Python实现统计文本文件字数的方法
May 05 Python
Python3.6连接Oracle数据库的方法详解
May 18 Python
python反编译学习之字节码详解
May 19 Python
如何使用python进行pdf文件分割
Nov 11 Python
Pytorch 实现权重初始化
Dec 31 Python
简单介绍一下pyinstaller打包以及安全性的实现
Jun 02 Python
JAVA SWT事件四种写法实例解析
Jun 05 Python
Python使用OpenPyXL处理Excel表格
Jul 02 Python
python中round函数保留两位小数的方法
Dec 04 Python
BeautifulSoup获取指定class样式的div的实现
Dec 07 Python
Python 实现一个简单的web服务器
Jan 03 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格式化日期和时间格式化示例分享
2014/02/24 PHP
护卫神php套件 php版本升级方法(php5.5.24)
2015/05/10 PHP
PHP反射基础知识回顾
2020/09/10 PHP
Javascript学习笔记4 Eval函数
2010/01/11 Javascript
JavaScript中使用构造函数实现继承的代码
2010/08/12 Javascript
JavaScript高级程序设计阅读笔记(五) ECMAScript中的运算符(一)
2012/02/27 Javascript
jquery 层次选择器siblings与nextAll的区别介绍
2013/08/02 Javascript
nodejs文件操作模块FS(File System)常用函数简明总结
2014/06/05 NodeJs
深入学习jQuery Validate表单验证(二)
2016/01/18 Javascript
全面解析多种Bootstrap图片轮播效果
2016/05/27 Javascript
全面解析Bootstrap中tooltip、popover的使用方法
2016/06/13 Javascript
详解Vuejs2.0 如何利用proxyTable实现跨域请求
2017/08/03 Javascript
利用JQuery操作iframe父页面、子页面的元素和方法汇总
2017/09/10 jQuery
vue中axios处理http发送请求的示例(Post和get)
2017/10/13 Javascript
webpack中如何使用雪碧图的示例代码
2018/11/11 Javascript
JavaScript RegExp 对象用法详解
2019/09/24 Javascript
vue-video-player 断点续播的实现
2021/02/01 Vue.js
[15:57]教你分分钟做大人:斧王
2014/10/30 DOTA
[40:12]Liquid vs Chaos 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python中根据字符串调用函数的实现方法
2016/06/12 Python
Python序列循环移位的3种方法推荐
2018/04/09 Python
解决Python requests库编码 socks5代理的问题
2018/05/07 Python
解决pip install的时候报错timed out的问题
2018/06/12 Python
基于django ManyToMany 使用的注意事项详解
2019/08/09 Python
Python 函数绘图及函数图像微分与积分
2019/11/20 Python
韩国演唱会订票网站:StubHub韩国
2019/01/17 全球购物
印度尼西亚最完整和最大的在线药房网站:Farmaku.com
2019/11/23 全球购物
总经理助理职责
2014/02/04 职场文书
工程售后服务方案
2014/06/08 职场文书
2014矛盾纠纷排查调处工作总结
2014/12/09 职场文书
学生乘坐校车安全责任书
2015/05/11 职场文书
行政二审代理词
2015/05/25 职场文书
环保守法证明
2015/06/24 职场文书
浅析InnoDB索引结构
2021/04/05 MySQL
MySQL表的增删改查基础教程
2021/04/07 MySQL
python神经网络编程之手写数字识别
2021/05/08 Python