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 相关文章推荐
Python2.x版本中cmp()方法的使用教程
May 14 Python
Python中的super用法详解
May 28 Python
python 字典 按key值大小 倒序取值的实例
Jul 06 Python
python 使用re.search()筛选后 选取部分结果的方法
Nov 28 Python
flask session组件的使用示例
Dec 25 Python
Python列表(List)知识点总结
Feb 18 Python
Python控制Firefox方法总结
Jun 03 Python
python语言基本语句用法总结
Jun 11 Python
python自定义函数实现最大值的输出方法
Jul 09 Python
python性能测量工具cProfile使用解析
Sep 26 Python
如何卸载python插件
Jul 08 Python
Python实现查询剪贴板自动匹配信息的思路详解
Jul 09 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
雄兵连:第三季确定会出,不过时间未定,鹤熙是第三季的主角!
2020/03/13 国漫
php下使用SMTP发邮件的代码
2008/01/10 PHP
深入php-fpm的两种进程管理模式详解
2013/06/03 PHP
控制PHP的输出:缓存并压缩动态页面
2013/06/11 PHP
谈谈PHP中substr和substring的正确用法及相关参数的介绍
2015/12/16 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
2017/12/21 PHP
PHP创建自己的Composer包方法
2018/04/09 PHP
PHP正则表达式笔记与实例详解
2019/05/09 PHP
javascript 实现父窗口引用弹出窗口的值的脚本
2007/08/07 Javascript
基于jQuery的烟花效果(运动相关)点击屏幕出烟花
2012/06/14 Javascript
浅析ajax请求json数据并用js解析(示例分析)
2013/07/13 Javascript
jQuery.extend 函数及用法详细
2015/09/06 Javascript
全屏js头像上传插件源码高清版
2016/03/29 Javascript
vue双向数据绑定原理探究(附demo)
2017/01/17 Javascript
vue登录路由验证的实现
2017/12/13 Javascript
Angular浏览器插件Batarang介绍及使用
2018/02/07 Javascript
angularjs1.5 组件内用函数向外传值的实例
2018/09/30 Javascript
手把手教你 CKEDITOR 4 扩展插件制作
2019/06/18 Javascript
Ajax请求时无法重定向的问题解决代码详解
2019/06/21 Javascript
用vue设计一个日历表
2020/12/03 Vue.js
[01:11:11]Alliance vs RNG 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
python实现跨文件全局变量的方法
2014/07/07 Python
python3利用smtplib通过qq邮箱发送邮件方法示例
2017/12/03 Python
Python使用Matplotlib实现雨点图动画效果的方法
2017/12/23 Python
使用pip安装python库的多种方式
2019/07/31 Python
python map比for循环快在哪
2020/09/21 Python
Spartoo美国:欧洲排名第一的在线时装零售商
2019/12/12 全球购物
采购员岗位职责
2013/11/15 职场文书
酒后驾驶检讨书
2014/01/27 职场文书
家长写给孩子的评语
2014/04/18 职场文书
班组建设经验交流材料
2014/05/12 职场文书
幼师求职自荐信
2014/05/31 职场文书
银行奉献演讲稿
2014/09/16 职场文书
区政府领导班子个人对照检查材料
2014/09/25 职场文书
从事会计工作年限证明
2015/06/23 职场文书
MySQL系列之一 MariaDB-server安装
2021/07/02 MySQL