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 26 Python
pycharm 使用心得(八)如何调用另一文件中的函数
Jun 06 Python
pygame学习笔记(1):矩形、圆型画图实例
Apr 15 Python
解决python文件字符串转列表时遇到空行的问题
Jul 09 Python
Django ORM框架的定时任务如何使用详解
Oct 19 Python
python自动发邮件库yagmail的示例代码
Feb 23 Python
python编写简易聊天室实现局域网内聊天功能
Jul 28 Python
python os模块简单应用示例
May 23 Python
pytorch标签转onehot形式实例
Jan 02 Python
python3.6环境下安装freetype库和基本使用方法(推荐)
May 10 Python
JAVA SWT事件四种写法实例解析
Jun 05 Python
Python文件的操作示例的详细讲解
Apr 08 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 强制下载文件代码
2010/10/24 PHP
destoon整合ucenter后注册页面不跳转的解决方法
2014/06/21 PHP
PHP的伪随机数与真随机数详解
2015/05/27 PHP
thinkPHP3.2简单实现文件上传的方法
2016/05/16 PHP
Laravel框架创建路由的方法详解
2019/09/04 PHP
laravel 错误处理,接口错误返回json代码
2019/10/25 PHP
解析js原生方法创建表格效率测试
2013/07/08 Javascript
使用jquery hover事件实现表格的隔行换色功能示例
2013/09/03 Javascript
基于JS实现数字+字母+中文的混合排序方法
2016/06/06 Javascript
微信小程序 textarea 详解及简单使用方法
2016/12/05 Javascript
Vue自定义指令介绍(2)
2016/12/08 Javascript
浅谈vue的踩坑路
2017/08/31 Javascript
swiper 解决动态加载数据滑动失效的问题
2018/02/26 Javascript
vuex的module模块用法示例
2018/11/12 Javascript
jquery中attr、prop、data区别与用法分析
2019/09/25 jQuery
[01:11:48]Fnatic vs IG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
[01:06:18]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第二场 1月26日
2021/03/11 DOTA
Python选择排序、冒泡排序、合并排序代码实例
2015/04/10 Python
一些常用的Python爬虫技巧汇总
2016/09/28 Python
利用python求相邻数的方法示例
2017/08/18 Python
pygame游戏之旅 游戏中添加显示文字
2018/11/20 Python
python web自制框架之接受url传递过来的参数实例
2018/12/17 Python
对Python3之方法的覆盖与super函数详解
2019/06/26 Python
Python实现平行坐标图的两种方法小结
2019/07/04 Python
详解PANDAS 数据合并与重塑(join/merge篇)
2019/07/09 Python
python实现将字符串中的数字提取出来然后求和
2020/04/02 Python
Python sql注入 过滤字符串的非法字符实例
2020/04/03 Python
python操作ini类型配置文件的实例教程
2020/10/30 Python
27个经典Linux面试题及答案,你知道几个?
2014/03/11 面试题
《兰亭集序》教学反思
2014/02/11 职场文书
“三支一扶”支教教师思想汇报
2014/09/13 职场文书
2014年纪检工作总结
2014/11/12 职场文书
2015年度个人工作总结报告
2015/10/24 职场文书
手把手教你从零开始react+antd搭建项目
2021/06/03 Javascript
攻击最高的10只幽灵系神奇宝贝,坚盾剑怪排第一,第五最为可怕
2022/03/18 日漫
【海涛dota解说】海涛小满开黑4v5被破两路翻盘潮汐第一视角解说
2022/04/01 DOTA