python數組冒號取值操作


 

1.冒號的用法

1.1 一個冒號

a[i:j]

這里的i指起始位置,默認為0;j是終止位置,默認為len(a),在取出數組中的值時就會從數組下標i(包括)一直取到下標j(不包括j)

在一個冒號的情況下若出現負數則代表倒數某個位置

a[i:-j]

這里就是從下標i取到倒數第j個下標之前(不包括倒數第j個下標位置的元素)

1.2 兩個冒號

a[i:j:h]

這里的i,j還是起始位置和終止位置,h是步長,默認為1

若i/j位置上出現負數依然倒數第i/j個下標的位置,h若為負數則是逆序輸出,這時要求起始位置下標大於終止位置

在兩個冒號的情況下若h為正數,則i默認為0,j默認為len(a);

若h為負數,則i默認為-1(即最后一個位置),j默認為-len(a)-1(下標0的前一個位置,這樣就能輸出到下標0了)

2.舉例說明

ok,接下來就對冒號更多靈活的用法舉例說明

a='python'
b=a[:]
print(b)

>>python #一個冒號代表默認全選
a='python'
b=a[1:4:]
print(b)

>>yth #冒號后沒有寫明故代表默認步長為1
a='python'
b=a[:-1]
print(b)

>>pytho #-1代表倒數第一個位置,因為:前面的初始位置沒有指定,默認為0,就從下標0一直取到最后一個位置之前
a='python'
c=a[1:-2] 
print(c)

>>yth #-2代表倒數第二個位置,即從下標1取到倒數第二個位置之前
 
a='python'
b=a[::-1]
print(b) 

>>nohtyp #前兩個冒號和上面一致,就是確定起始位置和終止位置
#第三個參數-1是指步長為-1,也就是逆序輸出
#這里a[::-1]相當於 a[-1:-len(a)-1:-1],也就是從最后一個元素到第一個元素
#所以[::-1]經常用來對一個數組進行逆序輸出
 
 
a='python'
b=a[1:4:-1]
print(b) 

>>
#這里什么也沒有輸出,因為按照給定的步長是無法從下標1走到4的,所以輸出為空但不會報錯
 
a='python'
b=a[-2:-7:-2]
print(b)

>>otp #這里起始位置是-2,終點是-7(不包括,所以輸出到-6位置),步長為-2
 
a = np.array([[1,2,3],[4,5,6],[7,8,9],[11,12,13]])
print(a[::-1,2:0:-1])

>>[[13 12]
 [ 9  8]
 [ 6  5]
 [ 3  2]]
#對於多維數組也是一樣的,可以分別對每一維進行操作,中間用逗號分隔
 

 最后再看一個圖片舉例


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM