python陣列取值的一些問題

2021-10-22 16:51:18 字數 1397 閱讀 4752

今天看mdnet中看見,samples[:, 2:] *= self.aspect ** ratio不是很明白samples[:, 2:]是如何取值的。寫了幾個python語句大致是明白了。

逗號前面代表第一維,逗號後面代表第二維。冒號前面是起始位置,冒號後面是結束位置

1.a[:,2:]

a = np.array([1,2,3,4])

a = np.tile(a,(5,1))

print("原陣列\n",a)

a[:,2:] *=2#第一維全部取,第二維從下標為2的開始取,取到最後,然後讓這些元素自身乘以2

print("變換後的陣列\n",a)

'''原陣列

[[1 2 3 4]

[1 2 3 4]

[1 2 3 4]

[1 2 3 4]

[1 2 3 4]]

變換後的陣列

[[1 2 6 8]

[1 2 6 8]

[1 2 6 8]

[1 2 6 8]

[1 2 6 8]]

'''

2.a[:,0:2] 

a = np.array([1,2,3,4])

a = np.tile(a,(5,1))

print("原陣列\n",a)

a[:,0:2] *=2#第一維全部取,第二維從第0列開始選,選到第二列,然後讓其乘以2,這個語句等價a[:,:2]

print("變換後的陣列\n",a)

'''原陣列

[[1 2 3 4]

[1 2 3 4]

[1 2 3 4]

[1 2 3 4]

[1 2 3 4]]

變換後的陣列

[[2 4 3 4]

[2 4 3 4]

[2 4 3 4]

[2 4 3 4]

[2 4 3 4]]

'''

3.a[1:3,:] 

a = np.array([1,2,3,4])

a = np.tile(a,(5,1))

print("原陣列\n",a)

a[1:3,:] *=2#第一維選取1,2行,第二維全部選。讓其乘以2

print("變換後的陣列\n",a)

'''原陣列

[[1 2 3 4]

[1 2 3 4]

[1 2 3 4]

[1 2 3 4]

[1 2 3 4]]

變換後的陣列

[[1 2 3 4]

[2 4 6 8]

[2 4 6 8]

[1 2 3 4]

[1 2 3 4]]

'''

python遇到的一些問題

1.呼叫python的標準影象庫里show 函式,有可能無法顯示。因為他呼叫了xv,但xv在後面的ubuntu版本中xv都不裝了。解決辦法 先裝乙個imagemagic,就相當於把xv的入口換成了imagemagic的display。sudo apt get install imagemagick ...

C語言陣列的一些問題

我們都知道,陣列名可以當成乙個指標,同樣的函式名也可以當成乙個函式指標,指向函式的入口位址。現在有乙個問題,陣列名這個指標指向的是什麼呢?如果對陣列名再取位址,得到的又是什麼呢?我們來驗證這兩個問題。輸入以下 include stdio.h int main int p 3 a printf d,d...

關於Python函式的一些問題

先看一段 1 2 3 4 5 i 5 deftest arg i print arg i 6 test 測試一下,結果為5,這跟一般的程式語言結果不一樣。按照python的說法,是函式預設值只能被賦值一次,也就是說一開始arg被賦值為5後,就不會再被賦值了,儘管在執行函式前i被賦值為6,不知道這樣理...