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的mysqldb安装步骤详解
Aug 14 Python
在Pycharm中修改文件默认打开方式的方法
Jan 17 Python
Python魔法方法详解
Feb 13 Python
Python 列表的清空方式
Jan 13 Python
Python爬虫工具requests-html使用解析
Apr 29 Python
Python HTMLTestRunner库安装过程解析
May 25 Python
浅谈pycharm导入pandas包遇到的问题及解决
Jun 01 Python
Matplotlib 绘制饼图解决文字重叠的方法
Jul 24 Python
如何编写python的daemon程序
Jan 07 Python
Pycharm 跳转回之前所在页面的操作
Feb 05 Python
对PyTorch中inplace字段的全面理解
May 22 Python
python pygame入门教程
Jun 01 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去掉文件前几行的方法
2015/07/29 PHP
jquery实现微博文字输入框 输入时显示输入字数 效果实现
2013/07/12 Javascript
解析offsetHeight,clientHeight,scrollHeight之间的区别
2013/11/20 Javascript
JavaScript实现简单的二级导航菜单实例
2015/04/15 Javascript
Bootstrap布局组件教程之Bootstrap下拉菜单
2016/06/12 Javascript
JS代码实现根据时间变换页面背景效果
2016/06/16 Javascript
JavaScript 对象详细整理总结
2016/09/29 Javascript
node.js学习之base64编码解码
2016/10/21 Javascript
bootstrap实现的自适应页面简单应用示例
2017/03/09 Javascript
javascript实现二叉树的代码
2017/06/08 Javascript
layui框架与SSM前后台交互的方法
2019/09/12 Javascript
layui加载数据显示loading加载完成loading消失的实例代码
2019/09/23 Javascript
js实现掷骰子小游戏
2019/10/24 Javascript
vue路由的配置和页面切换详解
2020/09/09 Javascript
[01:13:51]TNC vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python随手笔记之标准类型内建函数
2015/12/02 Python
Python使用dis模块把Python反编译为字节码的用法详解
2016/06/14 Python
python中字符串数组逆序排列方法总结
2019/06/23 Python
linux下安装python3和对应的pip环境教程详解
2019/07/01 Python
对Django外键关系的描述
2019/07/26 Python
Python 使用matplotlib模块模拟掷骰子
2019/08/08 Python
在Python中画图(基于Jupyter notebook的魔法函数)
2019/10/28 Python
python中count函数简单的实例讲解
2020/02/06 Python
numba提升python运行速度的实例方法
2021/01/25 Python
韩国爱茉莉太平洋化妆品美国站:Amore Pacific US
2016/10/28 全球购物
应届生如何写自荐信
2014/01/05 职场文书
学生生病请假条范文
2014/02/16 职场文书
大专应届毕业生求职信
2014/07/15 职场文书
农村党建工作汇报材料
2014/10/27 职场文书
2014年党员发展工作总结
2014/12/02 职场文书
民事诉讼答辩状范文
2015/05/21 职场文书
公司员工宿舍管理制度
2015/08/07 职场文书
2016年万圣节家长开放日活动总结
2016/04/05 职场文书
2019最新版试用期劳动合同模板!
2019/07/04 职场文书
浅谈Python 中的复数问题
2021/05/19 Python
MySQL悲观锁与乐观锁的实现方案
2021/11/02 MySQL