Python中數(shù)組,列表:冒號(hào)的靈活用法介紹(np數(shù)組,列表倒序)
讓我們來(lái)看一個(gè)例子:
import numpy as np x=np.array([[1,2,3],[5,6,7],[7,8,9]]) print(x) Out[64]: array([[1, 2, 3], [5, 6, 7], [7, 8, 9]])
以上的結(jié)果我想大家應(yīng)該沒(méi)問(wèn)題把,就是定義了一個(gè)np數(shù)組,關(guān)鍵在下面
print(x[:,::-1]) Out[65]: [[3 2 1] [7 6 5] [9 8 7]]
以上的代碼實(shí)現(xiàn)了一種功能,就是將數(shù)組倒序排列了,每個(gè)維度上倒序,這段代碼怎么理解呢,這是我在做深度學(xué)習(xí)風(fēng)格遷移的時(shí)候遇到的一個(gè)問(wèn)題,就是將圖片的rgb變?yōu)閎gr,然后看到別人寫的代碼,開始我想的是用transpose,transpose的講解可以參考我的博客,這里不講,但實(shí)際行不通,因?yàn)閠ranspose是維度交換,然后我就想為什么可以用雙冒號(hào),看了會(huì),我想通了,以下我來(lái)講解:
x[:,::-1],這段代碼,其實(shí)就是索引,第一個(gè)冒號(hào)(逗號(hào)之前的)很明顯就是選擇第一個(gè)維度的所有,也就是我們此處所有行,后面列上兩個(gè)冒號(hào),這樣看,比如我們列表y=[1,2,3],y[:2]結(jié)果就是[1,2],也就是第一個(gè)冒號(hào)表示從第一個(gè)開始,那我們其實(shí)此處我們的逗號(hào)后面的第一個(gè)冒號(hào)也是從第一個(gè)開始,那第二個(gè)冒號(hào)呢,其實(shí)第二個(gè)冒號(hào)代表結(jié)束,y=[1,2,3],y[::]結(jié)果就是[1,2,3],那第三個(gè)參數(shù)是啥,其實(shí)第三個(gè)參數(shù)就是步長(zhǎng),步長(zhǎng)不能為0,為-1代表逆序,如果為1,則代表全選,如果為2,代表隔一個(gè)取一個(gè)。
看以下代碼:
x=np.array([[1,2,3],[5,6,7],[7,8,9]])
print(x)
print('------------')
print(x[:,::-1])
print('------------')
print(x[:,::1])
print('------------')
print(x[:,::2])
print('------------')
print(x[:,::3])
print('------------')
print(x[:,::666666])
x=np.array([[1,2,3],[5,6,7],[7,8,9]])
print(x)
print('------------')
print(x[:,::-1])
print('------------')
print(x[:,::1])
print('------------')
print(x[:,::2])
print('------------')
print(x[:,::3])
print('------------')
print(x[:,::666666])
[[1 2 3]
[5 6 7]
[7 8 9]]
------------
[[3 2 1]
[7 6 5]
[9 8 7]]
------------
[[1 2 3]
[5 6 7]
[7 8 9]]
------------
[[1 3]
[5 7]
[7 9]]
------------
[[1]
[5]
[7]]
------------
[[1]
[5]
[7]]
從上述代碼就可以理解到,后面之所以x[:,::666666],取66666這么大,是為了說(shuō),從第一個(gè)開始,后面代表步長(zhǎng),66666這么大的步長(zhǎng)也就只能取第一個(gè)了,其實(shí)步長(zhǎng)從3開始就只能取到第一個(gè)了
以上用法對(duì)于列表也是一樣的。
以上這篇Python中數(shù)組,列表:冒號(hào)的靈活用法介紹(np數(shù)組,列表倒序)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用Python的datetime庫(kù)處理時(shí)間(RPA流程)
datetime 是 Python 處理日期和時(shí)間的標(biāo)準(zhǔn)庫(kù)。這篇文章主要介紹了使用Python的datetime庫(kù)處理時(shí)間(RPA流程),需要的朋友可以參考下2019-11-11
拓?fù)渑判騊ython實(shí)現(xiàn)的過(guò)程
這篇文章主要介紹了拓?fù)渑判騊ython實(shí)現(xiàn)的過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01
淺談Python實(shí)現(xiàn)Apriori算法介紹
這篇文章主要介紹了淺談Python實(shí)現(xiàn)Apriori算法介紹,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-12-12
Python如何實(shí)現(xiàn)xml解析并輸出到Excel上
本文介紹了如何使用Python的ElementTree模塊解析XML文件,并將解析后的數(shù)據(jù)寫入Excel文件,通過(guò)編寫XML文件、解析XML、編寫將數(shù)據(jù)寫入Excel的函數(shù),最終實(shí)現(xiàn)XML數(shù)據(jù)到Excel的轉(zhuǎn)換2025-02-02
Python應(yīng)用案例之利用opencv實(shí)現(xiàn)圖像匹配
OpenCV 是一個(gè)的跨平臺(tái)計(jì)算機(jī)視覺(jué)庫(kù),可以運(yùn)行在 Linux、Windows 和 Mac OS 操作系統(tǒng)上,這篇文章主要給大家介紹了關(guān)于Python應(yīng)用案例之利用opencv實(shí)現(xiàn)圖像匹配的相關(guān)資料,需要的朋友可以參考下2024-08-08
python seaborn heatmap可視化相關(guān)性矩陣實(shí)例
這篇文章主要介紹了python seaborn heatmap可視化相關(guān)性矩陣實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06
使用Python通過(guò)win32 COM實(shí)現(xiàn)Word文檔的寫入與保存方法
今天小編就為大家分享一篇使用Python通過(guò)win32 COM實(shí)現(xiàn)Word文檔的寫入與保存方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05

