Python中列表索引 A[ : 2 ]與A[ : , 2]的區別說明

列表索引 A[ : 2 ]與A[ : , 2]區別

Python內置的一種數據類型是列表:list 。list是一種有序的集合,也就是說,list中的元素是按照順序排列的。可以隨時添加和刪除其中的元素。它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。

創建一個列表

構造list非常簡單,按照上面的代碼,直接用 [ ]把list的所有元素都括起來,就是一個list對象。通常,我們會把list賦值給一個變量,這樣,就可以通過變量來引用list:代碼如下:

list1 = ['1937', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
list3 = ["a", "b", "c", "d"];

註:列表中的數據項可以是不同的數據類型

一個元素也沒有的list,就是空list:

empty_list = []

訪問列表中的值

使用下標索引來訪問列表中的值,同樣你也可以使用方括號的形式截取字符,如下所示:

代碼如下:

list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5, 6, 7 ]
 
print ("list1[0]: ", list1[0])
print ("list2[1:5]: ", list2[1:5])

輸出結果:

>>> list1[0]:  physics
>>> list2[1:5]:  [2, 3, 4, 5]

註意:索引超出瞭范圍會報錯

A[ : 2 ]與A[ : , 2]的區別

代碼如下:

import numpy as np
A=[[ 1,  2,  3,  4,  5],
   [ 6,  7,  8,  9, 10],
   [11, 12, 13, 14, 15],
   [16, 17, 18, 19, 20]]
 
A = np.array(A)
print("A[: 2]:", A[: 2])
print("A[:,2]:", A[:,2])

輸出結果:

>>> A[: 2]: [[ 1  2  3  4  5]
            [ 6  7  8  9 10]]
>>> A[:,2]: [ 3  8 13 18]

  • A[ : 2]:表示索引 0至1行;
  • A[ :, 2]:表示所有行的第3列。

python中[::]的含義

:是取值范圍,‘,’用來分割維度

需要註意的是list定義的二維數組不能用此方法取數值

最好使用nump定義的array類型

[:-1]

b = [1,2,3,4,5,6]
print(b[:-1])

out:[1, 2, 3, 4, 5]

簡而言之就是裁減掉最後一位

[::-1]

print(b[::-1])
out: [6, 5, 4, 3, 2, 1]

倒序輸出

如果是[::2]的話,則是以步長2一次取數據

因此這個語句的意思就是以多少步長取數據,-1就是倒序取數

[:,]

import numpy as np
b = np.array([[1,2,3,4,5],[6,7,8,9,10]])
print(b[:,0])
out:[1 6]

第一個:,代表第一個維度,第二個0表示取第二維的所有0位數據

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: