偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Python矩陣轉(zhuǎn)置的實(shí)際應(yīng)用操作方案與代碼詳解

開發(fā) 后端
我們以下的文章是通過介紹Python矩陣轉(zhuǎn)置的代碼的方式,來介紹Python矩陣轉(zhuǎn)置在實(shí)際應(yīng)用的操作方案的介紹,以下是文章的主要內(nèi)容。

如果你對Python矩陣轉(zhuǎn)置的相關(guān)實(shí)際應(yīng)用方案不是很了解的話,你就可以瀏覽我們的文章,我們的文章就是對Python矩陣轉(zhuǎn)置相關(guān)內(nèi)容的介紹,在這里我們就把其相關(guān)應(yīng)用操作方案詳細(xì)介紹一下。

你需要確保該數(shù)組的行列數(shù)都是相同的.比如:

 

  1. arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]] 

列表遞推式提供了一個簡便的矩陣轉(zhuǎn)置的方法:

 

  1. print [[r[col] for r in arr] for col in range(len(arr[0]))]  
  2. [[1, 4, 7, 10], [2, 5, 8, 11], [3, 6, 9, 12]]  
  3.  

 

另一個更快和高級一些的方法,可以使用zip函數(shù):

 

  1. print map(list, zip(*arr)) 

本節(jié)提供了關(guān)于Python矩陣轉(zhuǎn)置的兩個方法,一個比較清晰簡單,另一個比較快速但有些隱晦.有時候,數(shù)據(jù)到來的時候使用錯誤的方式,比如,你使用微軟的ADO接口訪問數(shù)據(jù)庫,由于Python和MS在語言實(shí)現(xiàn)上的差別. Getrows方法在Python中可能返回的是列值,和方法的名稱不同.本節(jié)給的出的方法就是這個問題常見的解決方案,一個更清晰,一個更快速.
 

在列表遞推式版本中,內(nèi)層遞推式表示選則什么(行),外層遞推式表示選擇者(列).這個過程完成后就實(shí)現(xiàn)了轉(zhuǎn)置.在zip版本中,我們使用*arr語法將一維數(shù)組傳遞給zip做為參數(shù),接著,zip返回一個元組做為結(jié)果.然后我們對每一個元組使用list方法,產(chǎn)生了列表的列表(即矩陣).因?yàn)槲覀儧]有直接將zip的結(jié)果表示為list, 所以我們可以我們可以使用itertools.izip來稍微的提高效率

 

  1. import itertools  
  2. print map(list, itertools.izip(*arr)) 

 

但是,在特定的情況下,上面的方法對效率的微弱提升不能彌補(bǔ)對復(fù)雜度的增加.關(guān)于*args和**kwds語法:*args(實(shí)際上,*號后面跟著變量名)語法在Python中表示傳遞任意的位置變量,當(dāng)你使用這個語法的時候(比如,你在定義函數(shù)時使用),Python將這個變量和一個元組綁定,并保留所有的位置信息, 而不是具體的變量.當(dāng)你使用這個方法傳遞參數(shù)時,變量可以是任意的可迭代對象

**kwds語法在Python中用于接收命名參數(shù).當(dāng)你用這個方式傳遞參數(shù)時,Python將變量和一個dict綁定,保留所有命名參數(shù),而不是具體的變量值.當(dāng)你傳遞參數(shù)時,變量必須是dict類型(或者是返回值為dict類型的表達(dá)式).

如果你要轉(zhuǎn)置很大的數(shù)組,使用Numeric Python或其它第三方包,它們定義了很多方法,足夠讓你頭暈的.相關(guān)說明:

 

  1. zip(...)  
  2. zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)]  
  3. Return a list of tuples, where each tuple contains the i-th
     element  
  4. from each of the argument sequences. The returned list is 
    truncated  
  5. in length to the length of the shortest argument sequence.  

以上的文章就是對Python矩陣轉(zhuǎn)置的實(shí)際應(yīng)用方案的介紹。

【編輯推薦】

  1. 使用Python串口時應(yīng)用到的模塊有哪些
  2. PythonS60手機(jī)中搭建手機(jī)運(yùn)行平臺的五個步驟
  3. Python字符串中的mapping的功能介紹
  4. Python字符串中字符的大寫與小寫的變化
  5. Python數(shù)組中實(shí)際應(yīng)用的數(shù)據(jù)結(jié)構(gòu)的操作方案
責(zé)任編輯:佚名 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-03-17 15:58:08

Python環(huán)境

2010-03-17 14:42:09

Python 文件

2010-03-17 15:17:19

Python矩陣轉(zhuǎn)置

2010-03-17 15:01:24

Python復(fù)制文件

2010-03-16 18:59:47

Python模塊

2010-03-23 14:54:27

Python目錄文件

2010-03-17 12:20:15

Python Libr

2010-03-23 13:30:36

Python VIM

2010-03-17 14:18:27

Python open

2010-03-29 15:33:18

Oracle EXP

2010-03-17 12:37:51

Python定時器

2010-03-05 13:48:24

Python for

2010-03-19 15:16:11

Python代碼

2010-03-25 18:37:28

Python技巧

2010-04-12 14:44:06

Oracle Impd

2010-03-17 10:01:12

Python安裝

2010-03-16 16:47:25

Python數(shù)組

2010-03-09 19:07:01

Python語法

2010-03-29 10:55:38

Oracle優(yōu)化

2009-08-25 17:02:20

C#串口操作
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號