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 爬虫学习笔记之正则表达式
Sep 21 Python
在Python中pandas.DataFrame重置索引名称的实例
Nov 06 Python
python爬虫租房信息在地图上显示的方法
May 13 Python
python中while和for的区别总结
Jun 28 Python
Python 的AES加密与解密实现
Jul 09 Python
python GUI库图形界面开发之PyQt5单选按钮控件QRadioButton详细使用方法与实例
Feb 28 Python
python列表的逆序遍历实现
Apr 20 Python
用python实现名片管理系统
Jun 18 Python
Python tempfile模块生成临时文件和临时目录
Sep 30 Python
python使用re模块爬取豆瓣Top250电影
Oct 20 Python
教你使用Python获取QQ音乐某个歌手的歌单
Apr 03 Python
Python测试框架pytest高阶用法全面详解
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 中英文混合排版中处理字符串常用的函数
2007/04/12 PHP
详解php中反射的应用
2016/03/15 PHP
PHP回调函数概念与用法实例分析
2017/11/03 PHP
清华大学出版的事半功倍系列 javascript全部源代码
2007/05/04 Javascript
JavaScript表单常用验证集合
2008/01/16 Javascript
js操作Xml(向服务器发送Xml,处理服务器返回的Xml)(IE下有效)
2009/01/30 Javascript
Js动态添加复选框Checkbox的实例方法
2013/04/08 Javascript
改变文件域的样式实现思路同时兼容ie、firefox
2013/10/23 Javascript
jquery垂直公告滚动实现代码
2013/12/08 Javascript
jQuery实现仿路边灯箱广告图片轮播效果
2015/04/15 Javascript
jQuery弹层插件jquery.fancybox.js用法实例
2016/01/22 Javascript
AngularJs Dependency Injection(DI,依赖注入)
2016/09/02 Javascript
layer子层给父层页面元素赋值,以达到向父层页面传值的效果实例
2017/09/22 Javascript
Vue.js项目中管理每个页面的头部标签的两种方法
2018/06/25 Javascript
如何在Angular8.0下使用ngx-translate进行国际化配置
2019/07/24 Javascript
js实现点击图片在屏幕中间弹出放大效果
2019/09/11 Javascript
Vue图片浏览组件v-viewer用法分析【支持旋转、缩放、翻转等操作】
2019/11/04 Javascript
javaScript代码飘红报错看不懂?读完这篇文章再试试
2020/08/19 Javascript
python中global用法实例分析
2015/04/30 Python
python如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解
2017/11/08 Python
Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程
2018/01/04 Python
把pandas转换int型为str型的方法
2019/01/29 Python
python变量命名的7条建议
2019/07/04 Python
Flask框架 CSRF 保护实现方法详解
2019/10/30 Python
Python3 利用face_recognition实现人脸识别的方法
2020/03/13 Python
Python使用Selenium实现淘宝抢单的流程分析
2020/06/23 Python
用python查找统一局域网下ip对应的mac地址
2021/01/13 Python
美国嘻哈文化生活方式品牌:GLD
2018/04/15 全球购物
开学典礼决心书
2014/03/11 职场文书
投资合作协议书范本
2014/04/17 职场文书
亚运会口号
2014/06/20 职场文书
工伤事故赔偿协议书(标准)
2014/09/29 职场文书
西柏坡导游词
2015/02/05 职场文书
投资入股协议书
2016/03/22 职场文书
html实现随机点名器的示例代码
2021/04/02 Javascript
Python代码风格与编程习惯重要吗?
2021/06/03 Python