python中二维阵列的变换
2013-09-24 13:43
190 查看
先上代码:
解释一下:
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个元素
翻译的太没脸见人了,给个例子说明一下吧
实际上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]))]
内层推导改变的是(从行中)选出的元素, 外层推导则影响了选择子(即列)
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. 第一种方法: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二维离散余弦变换(DCT)及其反变换(IDCT)---程序对比
- IOS中二维坐标变换
- Python 实现使用dict 创建二维数据、DataFrame
- Python数据类型:列表、阵列
- [转]C语言图形编程(五) -二维图形变换②
- 关于Python的基础知识8--二维列表
- python中的二维列表(实例)
- Python学习15_霍夫线变换
- 【python】一维二维插值
- Python-OpenCV学习(五):二维绘图
- Python实现PS滤镜特效之扇形变换效果示例
- 二维分数阶Fouirer变换matlab程序
- python学习笔记--二维矩阵的转置
- 图片切割工具---产生多个div切割图片 采用for和一的二维阵列设置背景位置
- Python 二维字典查询
- Qt学习笔记八 二维图形(2) 坐标系统变换
- python:二维字典的键值合并等函数
- python利用elaphe制作二维条形码实现代码