詳解python數組中的符號…與:符號的不同之處

不知道大傢有沒有見過在python數組中使用…符號,因為前段時間讀別人代碼的時候遇到瞭這個符號立刻就雲裡霧裡,於是這裡特此記錄一下。先來看一段代碼:

import numpy as np

x = np.array([[1, 3],
       [5, 6],
       [8, 10]])

print("使用'...'符號的結果為:")
print(x[..., 0])
print("使用':'符號的結果為:")
print(x[:, 0])
"""
使用'...'符號的結果為:
[1 5 8]
使用':'符號的結果為:
[1 5 8]
"""

對比結果不難發現,可以得到結論在python數組中,…符號的功能等同於:符號。然而事實真的是這樣嗎?答案是否定的,我們再看一下三維數組的情況。

import numpy as np

x = np.array([[[0, 1],
        [2, 3]],
       [[4, 5],
        [5, 6]],
       [[7, 8],
        [9, 10]]])
      
print("使用'...'符號的結果為:")
print(x[..., 0])
print("使用兩個':'符號的結果為:")
print(x[:, :, 1])
print("使用一個':'符號的結果為:")
print(x[:, 1])
"""
使用'...'符號的結果為:
[[0 2]
 [4 5]
 [7 9]]
使用兩個':'符號的結果為:
[[ 1 3]
 [ 5 6]
 [ 8 10]]
使用一個':'符號的結果為:
[[ 2 3]
 [ 5 6]
 [ 9 10]]
 """

我們可以看到,使用符號…的結果與使用兩個:符號的結果一致,但是與使用單個:符號的結果有出入。因此我們可以得到,符號…並不完全等同於符號:。

結論:對於二維數組,符號…等同於符號:,但是對於三維數組則不等於,要考慮具體的情況。

到此這篇關於詳解python數組中的符號…與:符號的不同之處的文章就介紹到這瞭,更多相關python數組符號內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: