首頁 > 軟體

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

2022-05-19 13:00:39

列表索引 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位資料

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com