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中capitalize()与title()的区别详解
Dec 09 Python
Pandas实现数据类型转换的一些小技巧汇总
May 07 Python
Python实现多属性排序的方法
Dec 05 Python
Python实现的旋转数组功能算法示例
Feb 23 Python
详解python使用turtle库来画一朵花
Mar 21 Python
Python3中_(下划线)和__(双下划线)的用途和区别
Apr 26 Python
Python微信操控itchat的方法
May 31 Python
Pycharm和Idea支持的vim插件的方法
Feb 21 Python
Python文件操作基础流程解析
Mar 19 Python
Python爬虫教程知识点总结
Oct 19 Python
python 利用matplotlib在3D空间绘制二次抛物面的案例
Feb 06 Python
Python使用plt.boxplot()函数绘制箱图、常用方法以及含义详解
Aug 14 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
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
2006/10/09 PHP
如何设置mysql允许外网访问
2013/06/04 PHP
ThinkPHP中URL路径访问与模块控制器之间的关系
2014/08/23 PHP
php 参数过滤、数据过滤详解
2015/10/26 PHP
详解WordPress开发中get_header()获取头部函数的用法
2016/01/08 PHP
浅谈PHP中的错误处理和异常处理
2017/02/04 PHP
laravel5实现微信第三方登录功能
2018/12/06 PHP
phpstorm 配置xdebug的示例代码
2019/03/31 PHP
jquery 批量上传图片实现代码
2010/01/28 Javascript
Javascript实现可旋转的圆圈实例代码
2015/08/04 Javascript
JavaScript取得键盘按下方向键是哪个的方法
2015/08/04 Javascript
BOM之navigator对象和用户代理检测
2017/02/10 Javascript
angularjs实现简单的购物车功能
2017/09/21 Javascript
vue组件传递对象中实现单向绑定的示例
2018/02/28 Javascript
Vue监听一个数组id是否与另一个数组id相同的方法
2018/09/26 Javascript
微信小程序实现slideUp、slideDown滑动效果及点击空白隐藏功能示例
2018/12/11 Javascript
JS实现判断数组是否包含某个元素示例
2019/05/24 Javascript
TypeScript中使用getElementXXX()的示例代码
2019/09/12 Javascript
[03:13]DOTA2-DPC中国联赛1月25日Recap集锦
2021/03/11 DOTA
Android应用开发中Action bar编写的入门教程
2016/02/26 Python
从零开始学Python第八周:详解网络编程基础(socket)
2016/12/14 Python
Python反转序列的方法实例分析
2018/03/21 Python
浅谈PySpark SQL 相关知识介绍
2019/06/14 Python
Django--权限Permissions的例子
2019/08/28 Python
python实现字典嵌套列表取值
2019/12/16 Python
美国环保婴儿用品公司:The Honest Company
2017/11/23 全球购物
Furla官网:意大利著名的皮革品牌
2019/08/06 全球购物
教师绩效考核方案
2014/01/21 职场文书
保安公司服务承诺书
2014/05/28 职场文书
公司委托书格式范文
2014/10/09 职场文书
实习生矿工检讨书
2014/10/13 职场文书
2014年班组长工作总结
2014/11/20 职场文书
2015年社区统计工作总结
2015/04/21 职场文书
2017寒假社会实践心得体会范文
2016/01/14 职场文书
英语版自我评价,35句话轻松搞定
2019/10/08 职场文书
NoSQL优缺点与MongoDB数据库简介
2022/06/05 MongoDB