【Python】python 基礎語法之列表、n維陣列的變換(取反(逆序)\切片等)
【筆記】
二維陣列取反:
執行a[::-1],上下行交換。同樣的看成一維陣列的話,一行就是一個元素。
執行a[:, ::-1],上下前後交換。相當於對行取逆序,對列取逆序。
a=np.arange(12).reshape(3,4)
a
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
a[::-1]
array([[ 8, 9, 10, 11],
[ 4, 5, 6, 7],
[ 0, 1, 2, 3]])
a[:,::-1]
array([[ 3, 2, 1, 0],
[ 7, 6, 5, 4],
[11, 10, 9, 8]])
=================================================
切記:a無論是列表還是numpy中n維陣列a[::-1]均表示將a 的第一個方括號內的元素進行逆序。
列表如何逆向地訪問值:
例如有一個list = [1,2,3,4,5,6,7,7,8] 訪問從倒數第一位到倒數第三位怎麼做到? 我想要的輸出效果應該是[8,7,7]
使用切片就可以了: list[::-1][:3]
list[-3:][::-1]
list[::-1]是將列表反過來,一種是先反過來,然後取前三位;一種是先取後三位,再反過來。
同理在python中n維陣列的逆序也是這樣:
執行a[::-1],上下兩行交換了。同樣的看成一維陣列的話,一行就是一個元素,這個運算其實就是對一個一維陣列內的元素前後對調。多維陣列可以理解成對對第一個方括號內的每一個元素前後對調。
下面有人證實了:
分別進行圖中所示的4種運算。
執行a[:-1],移除了後面的一行。對於一維陣列,後面的一行其實就是最後一個元素,所以這個運算就是移除最後一個元素。
執行a[::-1],上下兩行交換了。同樣的看成一維陣列的話,一行就是一個元素,這個運算其實就是對一個一維陣列內的元素前後對調。多維陣列可以理解成對對第一個方括號內的每一個元素前後對調。
執行a[:,::-1],每一行中的元素前後交換了。簡單理解就是對第二層反括號內的元素前後對調。
執行a[:,:,::-1],這樣就好理解了,肯定是對第三層方括號內的元素對調。這也就解釋了,對於一個24位深度的影像執行這個操作的話,是對每個畫素的RGB進行對調。
對於影像而言,a[::-1],a[:,::-1],a[:,:,::-1]上述的三種方法分別是X軸的映象,Y軸的映象,BGR轉換為RGB的操作。
---------------------
作者:wonengguwozai
來源:CSDN
原文:https://blog.csdn.net/wonengguwozai/article/details/53357734
版權宣告:本文為博主原創文章,轉載請附上博文連結!
相關文章
- python多維陣列切片方法Python陣列
- 6-Java基礎語法-陣列之一維陣列Java陣列
- Go 語言基礎 陣列、切片、對映Go陣列
- Python: 列表、陣列及迭代器切片的區別及聯絡Python陣列
- Python的基礎語法Python
- Python基礎語法Python
- Python 基礎語法Python
- python基礎語法迴圈巢狀和列表(一)Python巢狀
- python基礎語法迴圈巢狀和列表(二)Python巢狀
- python 基礎語法之物件導向Python物件
- Python基礎:語法基礎(3)Python
- 【Python有坑系列】交換兩個陣列的切片,有坑Python陣列
- python基礎語法—語句Python
- python 基礎語法(三)Python
- Python基礎語法(二)Python
- Python基礎語法(一)Python
- Python基礎(06):if語法Python
- Python列表切片操作Python
- Python列表建立NumPy陣列Python陣列
- JavaSE基礎語法3-陣列Java陣列
- python介面自動化測試之python基礎語法Python
- Python列表基礎Python
- 【PYTHON】語法基礎 | 開始使用PythonPython
- Python基礎——切片例項Python
- Python基礎語法筆記——帶思維導圖Python筆記
- Python基礎入門_2基礎語法和變數型別Python變數型別
- 左神基礎班02、陣列中的逆序對陣列
- Python基礎語法:開始你的Python之旅Python
- Python3 基礎語法Python
- Python基礎語法資料Python
- Python 3 學習筆記之——基礎語法Python筆記
- 從零開始學 Python 之基礎語法Python
- scala語法 -多維陣列陣列
- 學習python的基礎語法集合Python
- Python基礎之:數字字串和列表Python字串
- Python 基礎 2 - 列表Python
- Python基礎(03):列表Python
- Python陣列和列表的區別?Python學習教程Python陣列