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备份目录及目录下的全部内容的实现方法
Jun 12 Python
Python实现解析Bit Torrent种子文件内容的方法
Aug 29 Python
matplotlib简介,安装和简单实例代码
Dec 26 Python
python写一个md5解密器示例
Feb 23 Python
基于python代码实现简易滤除数字的方法
Jul 17 Python
解决python3 HTMLTestRunner测试报告中文乱码的问题
Dec 17 Python
浅谈pandas筛选出表中满足另一个表所有条件的数据方法
Feb 08 Python
python实现QQ批量登录功能
Jun 19 Python
python批量修改ssh密码的实现
Aug 08 Python
ffmpeg+Python实现B站MP4格式音频与视频的合并示例代码
Oct 21 Python
pycharm2020.1.2永久破解激活教程,实测有效
Oct 29 Python
python FTP编程基础入门
Feb 27 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
php 中文处理函数集合
2008/08/27 PHP
php 操作调试的方法
2012/07/12 PHP
php中getservbyport与getservbyname函数用法实例
2014/11/18 PHP
学习jquery必备 api中英文对照的chm手册 下载
2007/05/03 Javascript
JS启动应用程序的一个简单例子
2008/05/11 Javascript
验证用户是否修改过页面的数据的实现方法
2008/09/26 Javascript
基于jquery的模态div层弹出效果
2010/08/21 Javascript
javascript简单实现命名空间效果
2014/03/06 Javascript
Bootstrap编写一个兼容主流浏览器的受众巨幕式风格页面
2016/07/01 Javascript
jQuery实现下拉框多选 jquery-multiselect 的实例代码
2016/07/14 Javascript
Bootstrap的fileinput插件实现多文件上传的方法
2016/09/05 Javascript
Jquery AJAX POST与GET之间的区别详细介绍
2016/10/17 Javascript
Nodejs进阶之服务端字符编解码和乱码处理
2017/09/04 NodeJs
vue实现滑动切换效果(仅在手机模式下可用)
2020/06/29 Javascript
小程序Scroll-view上拉滚动刷新数据
2020/06/21 Javascript
使用C语言扩展Python程序的简单入门指引
2015/04/14 Python
Python批量转换文件编码格式
2015/05/17 Python
Python数据结构之单链表详解
2017/09/12 Python
浅谈机器学习需要的了解的十大算法
2017/12/15 Python
Python简单计算文件MD5值的方法示例
2018/04/11 Python
python实现三维拟合的方法
2018/12/29 Python
关于Python作用域自学总结
2019/06/10 Python
Python散点图与折线图绘制过程解析
2019/11/30 Python
django连接mysql数据库及建表操作实例详解
2019/12/10 Python
简单了解python装饰器原理及使用方法
2019/12/18 Python
OpenCV Python实现图像指定区域裁剪
2021/03/12 Python
基于Python pyecharts实现多种图例代码解析
2020/08/10 Python
韩国三星集团旗下时尚品牌官网:SSF SHOP
2016/08/02 全球购物
介绍一下SQL Server的全文索引
2013/08/15 面试题
华三通信H3C面试题
2015/05/15 面试题
新闻编辑自荐信
2013/11/03 职场文书
市场部管理制度
2014/02/02 职场文书
12月红领巾广播稿
2014/02/13 职场文书
给老婆的保证书范文
2014/04/28 职场文书
销售类求职信
2014/06/13 职场文书
一文搞懂python异常处理、模块与包
2021/06/26 Python