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 相关文章推荐
Linux下使用python调用top命令获得CPU利用率
Mar 10 Python
python使用post提交数据到远程url的方法
Apr 29 Python
深入理解python中的select模块
Apr 23 Python
python 中的divmod数字处理函数浅析
Oct 17 Python
Python入门之三角函数atan2()函数详解
Nov 08 Python
Numpy中矩阵matrix读取一列的方法及数组和矩阵的相互转换实例
Jul 02 Python
python selenium 弹出框处理的实现
Feb 26 Python
深入浅析python变量加逗号,的含义
Feb 22 Python
django实现将后台model对象转换成json对象并传递给前端jquery
Mar 16 Python
利用python实现凯撒密码加解密功能
Mar 31 Python
Pytorch1.5.1版本安装的方法步骤
Dec 31 Python
Python爬虫获取op.gg英雄联盟英雄对位胜率的源码
Jan 29 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
使用Limit参数优化MySQL查询的方法
2008/11/12 PHP
PHP UTF8中文字符截断函数代码
2012/09/11 PHP
解析php通过cookies获取远程网页的指定代码
2013/06/25 PHP
yii2中结合gridview如何使用modal弹窗实例代码详解
2016/06/12 PHP
Prototype 学习 工具函数学习($w,$F方法)
2009/07/12 Javascript
Prototype ObjectRange对象学习
2009/07/19 Javascript
Javascript继承机制的设计思想分享
2011/08/28 Javascript
Javascript中查找不以XX字符结尾的单词示例代码
2013/10/15 Javascript
javascript匿名函数应用示例介绍
2014/03/07 Javascript
Jquery实现仿腾讯微博发表广播
2014/11/17 Javascript
浅谈JavaScript中变量和函数声明的提升
2016/08/09 Javascript
JavaScript性能优化之函数节流(throttle)与函数去抖(debounce)
2016/08/11 Javascript
Vue2.0基于vue-cli+webpack同级组件之间的通信教程(推荐)
2017/09/14 Javascript
详解vue+vuex+koa2开发环境搭建及示例开发
2018/01/22 Javascript
vue绑定事件后获取绑定事件中的this方法
2018/09/15 Javascript
使用koa-log4管理nodeJs日志笔记的使用方法
2018/11/30 NodeJs
解决vue elementUI中table里数字、字母、中文混合排序问题
2020/01/07 Javascript
跟老齐学Python之类的细节
2014/10/13 Python
requests和lxml实现爬虫的方法
2017/06/11 Python
python对DICOM图像的读取方法详解
2017/07/17 Python
python搭建服务器实现两个Android客户端间收发消息
2018/04/12 Python
python pandas 如何替换某列的一个值
2018/06/09 Python
Python爬虫包BeautifulSoup异常处理(二)
2018/06/17 Python
Django操作session 的方法
2020/03/09 Python
Python xlrd excel文件操作代码实例
2020/03/10 Python
python3中sorted函数里cmp参数改变详解
2020/03/12 Python
New Balance天猫官方旗舰店:始于1906年,百年慢跑品牌
2017/11/15 全球购物
戴森英国官网:Dyson英国
2019/05/07 全球购物
Made in Design德国:设计师家具、灯具和装饰
2019/10/31 全球购物
澳大利亚宠物食品和用品商店:PETstock
2020/01/02 全球购物
教你怎样写好自我评价
2013/10/05 职场文书
师范生自我鉴定
2014/03/20 职场文书
2014教师评职称工作总结
2014/11/10 职场文书
幼儿园开学温馨提示
2015/07/15 职场文书
劳保用品管理制度范本
2015/08/06 职场文书
golang内置函数len的小技巧
2021/07/25 Golang