今天看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,不知道這樣理...