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

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

新聞中心

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

如果你對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]] 

列表遞推式提供了一個(gè)簡便的矩陣轉(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.  

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

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

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

在列表遞推式版本中,內(nèi)層遞推式表示選則什么(行),外層遞推式表示選擇者(列).這個(gè)過程完成后就實(shí)現(xiàn)了轉(zhuǎn)置.在zip版本中,我們使用*arr語法將一維數(shù)組傳遞給zip做為參數(shù),接著,zip返回一個(gè)元組做為結(jié)果.然后我們對每一個(gè)元組使用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í)際上,*號(hào)后面跟著變量名)語法在Python中表示傳遞任意的位置變量,當(dāng)你使用這個(gè)語法的時(shí)候(比如,你在定義函數(shù)時(shí)使用),Python將這個(gè)變量和一個(gè)元組綁定,并保留所有的位置信息, 而不是具體的變量.當(dāng)你使用這個(gè)方法傳遞參數(shù)時(shí),變量可以是任意的可迭代對象

**kwds語法在Python中用于接收命名參數(shù).當(dāng)你用這個(gè)方式傳遞參數(shù)時(shí),Python將變量和一個(gè)dict綁定,保留所有命名參數(shù),而不是具體的變量值.當(dāng)你傳遞參數(shù)時(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串口時(shí)應(yīng)用到的模塊有哪些
  2. PythonS60手機(jī)中搭建手機(jī)運(yùn)行平臺(tái)的五個(gè)步驟
  3. Python字符串中的mapping的功能介紹
  4. Python字符串中字符的大寫與小寫的變化
  5. Python數(shù)組中實(shí)際應(yīng)用的數(shù)據(jù)結(jié)構(gòu)的操作方案

文章名稱:Python矩陣轉(zhuǎn)置的實(shí)際應(yīng)用操作方案與代碼詳解
文章路徑:http://m.5511xx.com/article/cdopgod.html