python中二维阵列的变换实例_python

本文实例讲述了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
, 阵列
, 变换
二维
ug变换圆形阵列、二维阵列、ug6.0变换圆形阵列、ug6实体变换圆形阵列、ug8.0变换矩形阵列,以便于您获取更多的相关知识。

时间: 2025-01-27 05:04:33

python中二维阵列的变换实例_python的相关文章

python算法学习之计数排序实例_python

python算法学习之计数排序实例 复制代码 代码如下: # -*- coding: utf-8 -*- def _counting_sort(A, B, k):    """计数排序,伪码如下:    COUNTING-SORT(A, B, k)    1  for i ← 0 to k // 初始化存储区的值    2    do C[i] ← 0    3  for j ← 1 to length[A] // 为各值计数    4    do C[A[j]] ← C[A

python的绘图工具matplotlib使用实例_python

matplotlib是功能十分强大的绘制二维图形的Python模块,它用Python语言实现了MATLAB画图函数的易用性,同时又有非常强大的可定制性.它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中.它的文档相当完备,并且Gallery页面中有上百幅缩略图,打开之后都有源程序.因此如果你需要绘制某种类型的图,只需要在这个页面中浏览.复制.粘贴一下,基本上都能搞定! 实例代码如下: 1. 柱状图 import matp

python实现的重启关机程序实例_python

本文实例讲述了Python实现的重启关机程序的方法,对Python程序设计有一定的参考价值.具体方法如下: 实例代码如下: #!/usr/bin/python #coding=utf-8 import time from os import system runing = True while runing: input = raw_input('关机(s)OR重启(r)?(q退出)') input = input.lower() if input == 'q' or input =='quit

python实现通过shelve修改对象实例_python

本文实例讲述了python实现通过shelve修改对象的方法,分享给大家供大家参考. 具体实现方法如下: import shelve she = shelve.open('try.she','c') for c in 'spam': she[c] = {c:23} for c in she.keys(): print c,she[c] she.close() she = shelve.open('try.she','c') print she['p'] she['p']['p'] = 42 #这

Python单元测试框架unittest简明使用实例_python

测试步骤1. 导入unittest模块 import unittest 2. 编写测试的类继承unittest.TestCase class Tester(unittest.TestCase) 3. 编写测试的方法必须以test开头 def test_add(self) def test_sub(self) 4.使用TestCase class提供的方法测试功能点 5.调用unittest.main()方法运行所有以test开头的方法 复制代码 代码如下: if __name__ == '__m

Python原始字符串(raw strings)用法实例_python

本文实例讲述了Python原始字符串(raw strings)用法,分享给大家供大家参考.具体如下:   Python原始字符串的产生正是由于有正则表达式的存在.原因是ASCII 字符和正则表达式特殊字符间所产生的冲突.比如,特殊符号"\b"在ASCII 字符中代表退格键,但同时"\b"也是一个正则表达式的特殊符号,代表"匹配一个单词边界". 为了让RE 编译器把两个字符"\b"当成你想要表达的字符串,而不是一个退格键,你需要

Python 制作糗事百科爬虫实例_python

早上起来闲来无事做,莫名其妙的就弹出了糗事百科的段子,转念一想既然你送上门来,那我就写个爬虫到你网站上爬一爬吧,一来当做练练手,二来也算找点乐子. 其实这两天也正在接触数据库的内容,可以将爬取下来的数据保存在数据库中,以待以后的利用.好了,废话不多说了,先来看看程序爬取的数据结果 值得一提的是,我在程序中想一下子爬取糗事百科 30 页的内容,但是出现了连接错误,当我把页数降到 20 页的时候,程序就可以正常的跑起来了,不知道是什么原因,渴望知道的大神可以告诉我一声,感激不尽. 程序非常简单,直接

Python实现基于HTTP文件传输实例_python

本文实例讲述了Python实现基于HTTP文件传输的方法.分享给大家供大家参考.具体实现方法如下: 一.问题: 因为需要最近看了一下通过POST请求传输文件的内容 并且自己写了Server和Client实现了一个简单的机遇HTTP的文件传输工具 二.实现代码: Server端: 复制代码 代码如下: #coding=utf-8 from BaseHTTPServer import BaseHTTPRequestHandler import cgi class   PostHandler(Base

python正则表达式match和search用法实例_python

本文实例讲述了python正则表达式match和search用法.分享给大家供大家参考.具体分析如下: python提供了2中主要的正则表达式操作:re.match 和 re.search. match :只从字符串的开始与正则表达式匹配,匹配成功返回matchobject,否则返回none: search :将字符串的所有字串尝试与正则表达式匹配,如果所有的字串都没有匹配成功,返回none,否则返回matchobject:(re.search相当于perl中的默认行为) import re d