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程序实例(通讯录)
Nov 29 Python
python线程、进程和协程详解
Jul 19 Python
Python+OpenCV感兴趣区域ROI提取方法
Jan 10 Python
Django集成搜索引擎Elasticserach的方法示例
Jun 04 Python
Python将文字转成语音并读出来的实例详解
Jul 15 Python
python使用sessions模拟登录淘宝的方式
Aug 16 Python
详解Python中的format格式化函数的使用方法
Nov 20 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
Jan 06 Python
Python包,__init__.py功能与用法分析
Jan 07 Python
python使用梯度下降和牛顿法寻找Rosenbrock函数最小值实例
Apr 02 Python
pycharm实现print输出保存到txt文件
Jun 01 Python
Python调用百度OCR实现图片文字识别的示例代码
Jul 17 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的PHP目录管理函数库
2008/07/10 PHP
PHP清除数组中所有字符串两端空格的方法
2014/10/20 PHP
在SAE上搭建最新wordpress的方法
2014/12/21 PHP
PHP实现批量检测网站是否能够正常打开的方法
2016/08/23 PHP
PHP调试及性能分析工具Xdebug详解
2017/02/09 PHP
Yii框架连表查询操作示例
2019/09/06 PHP
JQuery FlexiGrid的asp.net完美解决方案 dotNetFlexGrid-.Net原生的异步表格控件
2010/09/12 Javascript
Javascript Web Slider 焦点图示例源码
2013/10/10 Javascript
jquery.post用法关于type设置问题补充
2014/01/03 Javascript
网页右侧悬浮滚动在线qq客服代码示例
2014/04/28 Javascript
如何调试异步加载页面里包含的js文件
2014/10/30 Javascript
jQuery实现简单的点赞效果
2020/05/29 Javascript
Node.js的Express框架使用上手指南
2016/03/12 Javascript
Node.js刷新session过期时间的实现方法推荐
2016/05/18 Javascript
jquery判断input值不为空的方法
2016/06/05 Javascript
bootstrap日期控件问题(双日期、清空等问题解决)
2017/04/19 Javascript
Vue.js实现文章评论和回复评论功能
2020/05/30 Javascript
说说node中的可读流和可写流的区别
2018/06/01 Javascript
mongodb初始化并使用node.js实现mongodb操作封装方法
2019/04/02 Javascript
微信小程序实现的canvas合成图片功能示例
2019/05/03 Javascript
Vue组件通信中非父子组件传值知识点总结
2019/12/05 Javascript
Vue使用v-viewer实现图片预览
2020/10/21 Javascript
python通过加号运算符操作列表的方法
2015/07/28 Python
分享python数据统计的一些小技巧
2016/07/21 Python
python实现简单俄罗斯方块
2020/03/13 Python
记一次python 爬虫爬取深圳租房信息的过程及遇到的问题
2020/11/24 Python
Matplotlib配色之Colormap详解
2021/01/05 Python
基于CSS3实现立方体自转效果
2016/03/01 HTML / CSS
介绍一下linux的文件系统
2012/03/20 面试题
酒鬼酒广告词
2014/03/21 职场文书
小学生推普周国旗下讲话稿
2014/09/21 职场文书
个人作风建设自查报告
2014/10/22 职场文书
2015年办公室人员工作总结
2015/05/15 职场文书
Java8中Stream的一些神操作
2021/11/02 Java/Android
一文搞懂MySQL索引页结构
2022/02/28 MySQL
CSS实现鼠标悬浮动画特效
2023/05/07 HTML / CSS