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 示例分享---逻辑推理编程解决八皇后
Jul 20 Python
python通过pip更新所有已安装的包实现方法
May 19 Python
python测试mysql写入性能完整实例
Jan 18 Python
批量将ppt转换为pdf的Python代码 只要27行!
Feb 26 Python
numpy判断数值类型、过滤出数值型数据的方法
Jun 09 Python
Python用于学习重要算法的模块pygorithm实例浅析
Aug 16 Python
python看某个模块的版本方法
Oct 16 Python
python 读写excel文件操作示例【附源码下载】
Jun 19 Python
Python 静态方法和类方法实例分析
Nov 21 Python
matplotlib.pyplot画图并导出保存的实例
Dec 07 Python
Python拼接字符串的7种方式详解
Mar 19 Python
Python读取多列数据以及用matplotlib制作图表方法实例
Sep 23 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
磨咖啡豆的密诀
2021/03/03 冲泡冲煮
备份mysql数据库的php代码(一个表一个文件)
2010/05/28 PHP
php url路由入门实例
2014/04/23 PHP
jQuery的强大选择器小结
2009/12/27 Javascript
基于jQuery的自动完成插件
2011/02/03 Javascript
自动设置iframe大小的jQuery代码
2013/09/11 Javascript
异步动态加载js与css文件的js代码
2013/09/15 Javascript
常用js字符串判断方法整理
2013/10/18 Javascript
通过location.replace禁止浏览器后退防止重复提交
2014/09/04 Javascript
js实现的全国省市二级联动下拉选择菜单完整实例
2015/08/17 Javascript
jquery mobile 移动web(5)
2015/12/20 Javascript
JavaScript笔记之数据属性和存储器属性
2016/03/31 Javascript
JavaScript队列的应用实例详解【经典数据结构】
2017/04/12 Javascript
关于vue-resource报错450的解决方案
2017/07/24 Javascript
浅谈React高阶组件
2018/03/28 Javascript
vue中Npm run build 根据环境传递参数方法来打包不同域名
2018/03/29 Javascript
JavaScript函数式编程(Functional Programming)组合函数(Composition)用法分析
2019/05/22 Javascript
vue分页器组件编写方法详解
2019/06/28 Javascript
基于vue和websocket的多人在线聊天室
2020/02/01 Javascript
原生JavaScript实现购物车
2021/01/10 Javascript
[03:49]DOTA2英雄基础教程 光之守卫
2014/01/14 DOTA
Python实现截屏的函数
2015/07/25 Python
详解flask入门模板引擎
2018/07/18 Python
python调用java的jar包方法
2018/12/15 Python
Python学习笔记之列表推导式实例分析
2019/08/13 Python
Belle Maison倍美丛官网:日本千趣会旗下邮购网站
2016/07/22 全球购物
JMS中Topic和Queue有什么区别
2013/05/15 面试题
2014年迎新年活动方案
2014/02/19 职场文书
清扬洗发水广告词
2014/03/14 职场文书
超市开店计划书
2014/09/15 职场文书
上课玩手机的检讨书
2014/10/01 职场文书
2014年世界艾滋病日宣传活动总结
2014/11/18 职场文书
办公室行政主管岗位职责
2015/04/09 职场文书
四大名著读书笔记
2015/06/25 职场文书
计算机教师工作总结
2015/08/13 职场文书
Java 轮询锁使用时遇到问题
2022/05/11 Java/Android