python中二维阵列的变换实例


Posted in Python onOctober 09, 2014

本文实例讲述了python中二维阵列的变换方法。分享给大家供大家参考。具体方法如下:

先看如下代码:

arr = [ [1, 2, 3], [4, 5, 6], [7, 8,9], [10, 11, 12]] 
 
print map(list, zip(*arr)) 
print '_-------------------------------------------------' 
print [[r[col] for r in arr] for col in range(len(arr[0]))]

运行结果如下:

[[1, 4, 7, 10], [2, 5, 8, 11], [3, 6, 9, 12]]
_-------------------------------------------------
[[1, 4, 7, 10], [2, 5, 8, 11], [3, 6, 9, 12]]

这里解释一下:

1. 第一种方法:map(list, zip(*arr))
zip([iterable, ...])
This function returns a list of tuples, where the i-th tuple contains thei-th element from each of the argument sequences or iterables.
zip()

这个函数返回一个元组的列表,其中的第i个元组包含从参数传进来的队列的每一个参数的元素的的第I个元素

再举个例子说明一下吧:

>>> x = [1, 2, 3]
>>> y = [4, 5, 6]
>>> zipped = zip(x, y)
>>> zipped
[(1, 4), (2, 5), (3, 6)]

实际上zip(*arr)返回的就是[(1, 4, 7, 10), (2, 5, 8, 11), (3, 6, 9, 12)],只不过它的每个元素是元组

map(func, list):

对list中的每个元素调用func方法,返回列表
参数*arr 是python用于传递任意基于位置的参数的语法

2. 第二种方法: [[r[col] for r in arr] for col in range(len(arr[0]))]
内层推导改变的是(从行中)选出的元素, 外层推导则影响了选择子(即列)

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
学习python处理python编码问题
Mar 13 Python
python 调用HBase的简单实例
Dec 18 Python
django中send_mail功能实现详解
Feb 06 Python
python 3利用Dlib 19.7实现摄像头人脸检测特征点标定
Feb 26 Python
谈谈Python中的while循环语句
Mar 10 Python
利用python-pypcap抓取带VLAN标签的数据包方法
Jul 23 Python
Python 堆叠柱状图绘制方法
Jul 29 Python
python psutil监控进程实例
Dec 17 Python
Python实现鼠标自动在屏幕上随机移动功能
Mar 14 Python
python3.7+selenium模拟淘宝登录功能的实现
May 26 Python
pytho matplotlib工具栏源码探析一之禁用工具栏、默认工具栏和工具栏管理器三种模式的差异
Feb 25 Python
python中对列表的删除和添加方法详解
Feb 24 Python
python实现每次处理一个字符的三种方法
Oct 09 #Python
Python正则表达式匹配ip地址实例
Oct 09 #Python
Python数据结构之Array用法实例
Oct 09 #Python
python中pygame模块用法实例
Oct 09 #Python
python根据文件大小打log日志
Oct 09 #Python
python命令行参数解析OptionParser类用法实例
Oct 09 #Python
python测试驱动开发实例
Oct 08 #Python
You might like
php5.2 Json不能正确处理中文、GB编码的解决方法
2014/03/28 PHP
php5.3以后的版本连接sqlserver2000的方法
2014/07/28 PHP
PHP  Yii清理缓存的实现方法
2016/11/10 PHP
php生成毫秒时间戳的实例讲解
2017/09/22 PHP
javascript 自定义事件初探
2009/08/21 Javascript
js 变量类型转换常用函数与代码[比较全]
2009/12/01 Javascript
JavaScript Promise启示录
2014/08/12 Javascript
基于javascript、ajax、memcache和PHP实现的简易在线聊天室
2015/02/03 Javascript
js中flexible.js实现淘宝弹性布局方案
2020/06/23 Javascript
10个最优秀的Node.js MVC框架
2017/08/24 Javascript
原生nodejs使用websocket代码分享
2018/04/07 NodeJs
Vue 获取数组键名的方法
2018/06/21 Javascript
jquery实现商品sku多属性选择功能(商品详情页)
2019/12/20 jQuery
JavaScript canvas绘制圆弧与圆形
2020/02/18 Javascript
微信小程序多列表渲染数据开关互不影响的实现
2020/06/05 Javascript
浅谈JavaScript窗体Window.ShowModalDialog使用
2020/07/22 Javascript
JavaScript 实现下雪特效的示例代码
2020/09/09 Javascript
用python实现的可以拷贝或剪切一个文件列表中的所有文件
2009/04/30 Python
python实现的简单FTP上传下载文件实例
2015/06/30 Python
python如何在终端里面显示一张图片
2016/08/17 Python
Python 包含汉字的文件读写之每行末尾加上特定字符
2016/12/12 Python
python使用opencv读取图片的实例
2017/08/17 Python
Python模拟百度自动输入搜索功能的实例
2019/02/14 Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
2019/06/03 Python
python 数据生成excel导出(xlwt,wlsxwrite)代码实例
2019/08/23 Python
python + selenium 刷B站播放量的实例代码
2020/06/12 Python
css3动画 小球滚动 js控制动画暂停
2019/11/29 HTML / CSS
HTML5通用接口详解
2016/06/12 HTML / CSS
浅谈移动端网页图片预加载方案
2018/11/05 HTML / CSS
捷克体育用品购物网站:D-sport
2017/12/28 全球购物
Under Armour安德玛英国官网:美国高端运动科技品牌
2018/09/17 全球购物
工商管理专业职业生涯规划
2014/01/01 职场文书
预备党员转正思想汇报
2014/01/12 职场文书
小学优秀教育工作者事迹材料
2014/05/09 职场文书
MySQL图形化管理工具Navicat安装步骤
2021/12/04 MySQL
Python使用Opencv打开笔记本电脑摄像头报错解问题及解决
2022/06/21 Python