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 相关文章推荐
写了个监控nginx进程的Python脚本
May 10 Python
Python3.0与2.X版本的区别实例分析
Aug 25 Python
Python 文件操作的详解及实例
Sep 18 Python
使用 Python 实现微信公众号粉丝迁移流程
Jan 03 Python
python实现画圆功能
Jan 25 Python
解决Python的str强转int时遇到的问题
Apr 09 Python
anaconda如何查看并管理python环境
Jul 05 Python
Python 绘制酷炫的三维图步骤详解
Jul 12 Python
由面试题加深对Django的认识理解
Jul 19 Python
一行Python代码过滤标点符号等特殊字符
Aug 12 Python
OpenCV-Python实现人脸美白算法的实例
Jun 11 Python
详解Python类和对象内容
Jun 22 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程序的方法小结
2012/02/23 PHP
PHP mkdir()无写权限的问题解决方法
2014/06/19 PHP
PHP实现上传文件并存进数据库的方法
2015/07/16 PHP
thinkphp分页实现效果
2016/10/13 PHP
一个用js实现的页内搜索代码
2007/05/23 Javascript
基于jquery的气泡提示效果
2010/05/31 Javascript
JavaScript聚焦于第一个字段的代码
2010/10/15 Javascript
javascript工具库代码
2012/03/29 Javascript
javascript学习笔记(二) js一些基本概念
2012/06/18 Javascript
jquery插件制作 提示框插件实现代码
2012/08/17 Javascript
javascript打印html内容功能的方法示例
2013/11/28 Javascript
jquery中show()、hide()和toggle()用法实例
2015/01/15 Javascript
JavaScript的Ext JS框架中的GridPanel组件使用指南
2016/05/21 Javascript
jquery validate表单验证插件
2016/09/06 Javascript
String字符串截取的四种方式总结
2016/11/28 Javascript
详解angular笔记路由之angular-router
2017/09/12 Javascript
详解ESLint在Vue中的使用小结
2018/10/15 Javascript
微信小程序实现留言板功能
2018/11/02 Javascript
实例讲解JavaScript预编译流程
2019/01/24 Javascript
eslint 的三大通用规则详解
2019/05/16 Javascript
JavaScript enum枚举类型定义及使用方法
2020/05/15 Javascript
python学习之编写查询ip程序
2016/02/27 Python
python 制作自定义包并安装到系统目录的方法
2018/10/27 Python
Python高斯消除矩阵
2019/01/02 Python
基于wxPython的GUI实现输入对话框(2)
2019/02/27 Python
python mysql 字段与关键字冲突的解决方式
2020/03/02 Python
python实现梯度下降法
2020/03/24 Python
Python pandas对excel的操作实现示例
2020/07/21 Python
墨尔本最受欢迎的复古风格品牌:Princess Highway
2018/12/21 全球购物
土地转让协议书
2014/04/15 职场文书
正科级干部考察材料
2014/05/29 职场文书
2017年寒假少先队活动总结
2016/04/06 职场文书
《初涉尘世》读后感3篇
2020/01/10 职场文书
用Python将GIF动图分解成多张静态图片
2021/06/11 Python
python实现Nao机器人的单目测距
2021/09/04 Python
Python可视化学习之seaborn调色盘
2022/02/24 Python