Python高級(jí)特性——詳解多維數(shù)組切片(Slice)
(1) 我們先用arange函數(shù)創(chuàng)建一個(gè)數(shù)組并改變其維度,使之變成一個(gè)三維數(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個(gè)元素,是一個(gè)2×3×4的三維數(shù)組。我們可以形象地把它看做一個(gè)兩層樓建筑,每層樓有12個(gè)房間,并排列成3行4列。
(2) 我們可以用三維坐標(biāo)來(lái)選定任意一個(gè)房間,即樓層、行號(hào)和列號(hào)。例如,選定第1層樓、第1行、第1列的房間,可以這樣表示:
>>> a[0, 0, 0] 0
(3) 如果我們不關(guān)心樓層,也就是說(shuō)要選取所有樓層的第1行、第1列的房間,那么可以將第1個(gè)下標(biāo)用英文標(biāo)點(diǎn)的冒號(hào):來(lái)代替:
>>> a[:, 0, 0] array([ 0, 12])
選取第1層樓的所有房間:
>>> a[0]
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
或者我們可以這樣寫(xiě):
>>> a[0, :, :]
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
多個(gè)冒號(hào)可以用一個(gè)省略號(hào)(…)來(lái)代替,因此上面的代碼等價(jià)于:
>>> 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高級(jí)特性——詳解多維數(shù)組切片(Slice)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python3實(shí)現(xiàn)網(wǎng)絡(luò)爬蟲(chóng)之BeautifulSoup使用詳解
這篇文章主要介紹了python3實(shí)現(xiàn)網(wǎng)絡(luò)爬蟲(chóng)之BeautifulSoup使用詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12
Python偏函數(shù)實(shí)現(xiàn)原理及應(yīng)用
這篇文章主要介紹了Python偏函數(shù)實(shí)現(xiàn)原理及應(yīng)用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
Python3.2模擬實(shí)現(xiàn)webqq登錄
這篇文章主要介紹了Python模擬實(shí)現(xiàn)webqq登錄的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-02-02
Django實(shí)現(xiàn)翻頁(yè)的示例代碼
翻頁(yè)是經(jīng)常使用的功能,Django提供了翻頁(yè)器。用Django的Paginator類(lèi)實(shí)現(xiàn),有需要了解Paginator類(lèi)用法的朋友可參考。希望此文章對(duì)各位有所幫助2021-05-05
解決Python爬蟲(chóng)錯(cuò)誤之twisted.web.error.SchemeNotSupported: Unsu
這篇文章主要介紹了解決Python爬蟲(chóng)錯(cuò)誤之twisted.web.error.SchemeNotSupported: Unsupported scheme: b''問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02

