日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Python矩陣轉(zhuǎn)置的實際應(yīng)用操作方案與代碼詳解

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

你需要確保該數(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在語言實現(xiàn)上的差別. Getrows方法在Python中可能返回的是列值,和方法的名稱不同.本節(jié)給的出的方法就是這個問題常見的解決方案,一個更清晰,一個更快速.

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

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

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

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

如果你要轉(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)置的實際應(yīng)用方案的介紹。

【編輯推薦】

  1. 使用Python串口時應(yīng)用到的模塊有哪些
  2. PythonS60手機中搭建手機運行平臺的五個步驟
  3. Python字符串中的mapping的功能介紹
  4. Python字符串中字符的大寫與小寫的變化
  5. Python數(shù)組中實際應(yīng)用的數(shù)據(jù)結(jié)構(gòu)的操作方案

新聞標(biāo)題:Python矩陣轉(zhuǎn)置的實際應(yīng)用操作方案與代碼詳解
文章網(wǎng)址:http://m.5511xx.com/article/cdopgod.html