python 多維切片之冒號(hào)和三個(gè)點(diǎn)的用法介紹
初學(xué)python和numpy,對(duì)在學(xué)習(xí)多維切片的過程中遇到的問題做個(gè)總結(jié)。
一維切片就不說了,比較簡(jiǎn)單,先說下二維的,二維的理解了多維的就簡(jiǎn)單了。舉個(gè)例子先建立一個(gè)5x5的二維數(shù)組

多維的切片是按照各個(gè)維度分別取

這里就分別輸出第一維的2-3和第二維的3-5(索引從0開始)。

這里是行取全部,列取第3-5。

這里應(yīng)該是大家最疑惑的地方了,為什么列的參數(shù)改成None,輸出的shape都變了,這里大家要知道,None代表新增加一個(gè)維度,它有一個(gè)別稱叫newaxis,大家可以輸出一下numpy.newaxis就知道了,那么這個(gè)別稱應(yīng)該顧名思義了吧。那么為什么是5x1x5,而不是5x5x1呢,那是因?yàn)槟阍诘诙S上用了None,你如果在第三維上用就會(huì)變成5x5x1了,不信你看

這下大家應(yīng)該明白了吧。就是說None放在哪一維,就會(huì)在哪一維上出現(xiàn)新的維度。
再看個(gè)更奇葩的

三個(gè)點(diǎn)是什么鬼,憑記憶這不是可以換行的操作么,但這里不是,它是省略所有的冒號(hào)來用省略號(hào)代替,大家看這個(gè)a[:, :, None]和a[…, None]的輸出是一樣的,就是因?yàn)椤媪饲懊鎯蓚€(gè)冒號(hào)。這下應(yīng)該清楚了。
至于三維以上的,那跟二維是一模一樣啊。
以上這篇python 多維切片之冒號(hào)和三個(gè)點(diǎn)的用法介紹就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python+unittest+requests+excel實(shí)現(xiàn)接口自動(dòng)化測(cè)試框架
這篇文章主要介紹了Python+unittest+requests+excel實(shí)現(xiàn)接口自動(dòng)化測(cè)試框架,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
如何利用Python和OpenCV對(duì)圖像進(jìn)行加水印詳解
Python使用opencv是因?yàn)橛X得它足夠強(qiáng)大,很多圖像處理這塊都是用的它,最近就用opencv添加個(gè)水印,這篇文章主要給大家介紹了關(guān)于如何利用Python和OpenCV對(duì)圖像進(jìn)行加水印的相關(guān)資料,需要的朋友可以參考下2021-10-10
Python3 log10()函數(shù)簡(jiǎn)單用法
在本文中我們給大家整理了關(guān)于Python3中l(wèi)og10()函數(shù)的基本用法和相關(guān)知識(shí)點(diǎn),需要的可以學(xué)習(xí)下。2019-02-02
Python實(shí)現(xiàn)清理微信僵尸粉功能示例【基于itchat模塊】
這篇文章主要介紹了Python實(shí)現(xiàn)清理微信僵尸粉功能,結(jié)合實(shí)例形式分析了Python使用itchat模塊刪除微信僵尸粉的相關(guān)原理、操作技巧與注意事項(xiàng),需要的朋友可以參考下2020-05-05

