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使用PIL缩放网络图片并保存的方法
Apr 24 Python
Python实现简单拆分PDF文件的方法
Jul 30 Python
python中matplotlib实现最小二乘法拟合的过程详解
Jul 11 Python
Python3实现的字典、列表和json对象互转功能示例
May 22 Python
Django1.9 加载通过ImageField上传的图片方法
May 25 Python
在python中安装basemap的教程
Sep 20 Python
OpenCV搞定腾讯滑块验证码的实现代码
May 18 Python
python二进制读写及特殊码同步实现详解
Oct 11 Python
python定义类self用法实例解析
Jan 22 Python
linux系统下pip升级报错的解决方法
Jan 31 Python
正确的理解和使用Django信号(Signals)
Apr 14 Python
教你怎么用Python生成九宫格照片
May 20 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 操作excel文件的方法小结
2009/12/31 PHP
PHP 开发环境配置(Zend Server安装)
2010/04/28 PHP
基于PHP常用字符串的总结(待续)
2013/06/07 PHP
thinkphp实现数组分页示例
2014/04/13 PHP
laravel中Redis队列监听中断的分析
2020/09/14 PHP
javascript当onmousedown、onmouseup、onclick同时应用于同一个标签节点Element
2010/01/05 Javascript
js 设置选中行的样式的实现代码
2010/05/24 Javascript
验证javascript中Object和Function的关系的三段简单代码
2010/06/27 Javascript
Javascript this 的一些学习总结
2012/08/02 Javascript
JS函数实现动态添加CSS样式表文件
2012/12/15 Javascript
Raphael带文本标签可拖动的图形实现代码
2013/02/20 Javascript
JS判定是否原生方法
2013/07/22 Javascript
JS 实现导航栏悬停效果(续2)
2013/09/24 Javascript
javascript实现表格增删改操作实例详解
2015/05/15 Javascript
JavaScript模拟实现键盘打字效果
2015/06/29 Javascript
深入解析JavaScript中的数字对象与字符串对象
2015/10/21 Javascript
requireJS模块化实现返回顶部功能的方法详解
2017/10/16 Javascript
微信小程序实现全国机场索引列表
2018/01/31 Javascript
Vue下拉框回显并默认选中随机问题
2018/09/06 Javascript
js中火星坐标、百度坐标、WGS84坐标转换实现方法示例
2020/03/02 Javascript
vue+iview实现分页及查询功能
2020/11/17 Vue.js
Python遍历文件夹和读写文件的实现代码
2016/08/28 Python
python实现简单点对点(p2p)聊天
2017/09/13 Python
浅谈numpy数组中冒号和负号的含义
2018/04/18 Python
python中类的输出或类的实例输出为这种形式的原因
2019/08/12 Python
django项目用higcharts统计最近七天文章点击量
2019/08/17 Python
利用Pycharm + Django搭建一个简单Python Web项目的步骤
2020/10/22 Python
HTML5 canvas基本绘图之文字渲染
2016/06/27 HTML / CSS
Perry Ellis官网:美国男士品味服装
2016/12/09 全球购物
打造完美自荐信
2014/01/24 职场文书
《狐假虎威》教学反思
2014/02/07 职场文书
人民教师的自我评价分享
2014/02/21 职场文书
上班迟到检讨书300字
2014/10/18 职场文书
离婚协议书样本
2015/01/26 职场文书
老公出轨后的保证书
2015/05/08 职场文书
2016年第29个世界无烟日宣传活动总结
2016/04/06 职场文书