Python高級特性——詳解多維數(shù)組切片(Slice)
(1) 我們先用arange函數(shù)創(chuàng)建一個數(shù)組并改變其維度,使之變成一個三維數(shù)組:
>>> a = np.arange(24).reshape(2,3,4) >>> a array([[[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]], [[12, 13, 14, 15], [16, 17, 18, 19], [20, 21, 22, 23]]])
多維數(shù)組a中有0~23的整數(shù),共24個元素,是一個2×3×4的三維數(shù)組。我們可以形象地把它看做一個兩層樓建筑,每層樓有12個房間,并排列成3行4列。
(2) 我們可以用三維坐標(biāo)來選定任意一個房間,即樓層、行號和列號。例如,選定第1層樓、第1行、第1列的房間,可以這樣表示:
>>> a[0, 0, 0] 0
(3) 如果我們不關(guān)心樓層,也就是說要選取所有樓層的第1行、第1列的房間,那么可以將第1個下標(biāo)用英文標(biāo)點的冒號:來代替:
>>> a[:, 0, 0] array([ 0, 12])
選取第1層樓的所有房間:
>>> a[0] array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]])
或者我們可以這樣寫:
>>> a[0, :, :] array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]])
多個冒號可以用一個省略號(…)來代替,因此上面的代碼等價于:
>>> a[0, ...] array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]])
進(jìn)而可以選取第1層樓、第2排的所有房間:
>>> a[0, 1] array([4, 5, 6, 7])
以上這篇Python高級特性——詳解多維數(shù)組切片(Slice)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python應(yīng)用程序在windows下不出現(xiàn)cmd窗口的辦法
這篇文章主要介紹了python應(yīng)用程序在windows下不出現(xiàn)cmd窗口的辦法,適用于python寫的GTK程序并用py2exe編譯的情況下,需要的朋友可以參考下2014-05-05python numpy矩陣信息說明,shape,size,dtype
這篇文章主要介紹了python numpy矩陣信息說明,shape,size,dtype,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05詳解Python進(jìn)階之切片的誤區(qū)與高級用法
切片(slice)就是一種截取索引片段的技術(shù),借助切片技術(shù),我們可以十分靈活地處理序列類型的對象。這篇文章主要介紹了Python進(jìn)階之切片的誤區(qū)與高級用法,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12python中從str中提取元素到list以及將list轉(zhuǎn)換為str的方法
今天小編就為大家分享一篇python中從str中提取元素到list以及將list轉(zhuǎn)換為str的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06python 實現(xiàn)目錄復(fù)制的三種小結(jié)
今天小編就為大家分享一篇python 實現(xiàn)目錄復(fù)制的三種小結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12