我編寫了一個處理數組的函數。在函數內部更改了數組的維數
我把2D數組作爲「someFunc(* dna)」函數傳入函數,但是在函數內部,它變成了3D。
爲什麼尺寸有變化?我如何保持我在函數內部傳遞的參數的相同維度?
import numpy as np
import random
q=np.random.random((5,4))
def someFunc(*dna):
return ((np.shape(dna)))
print (q)
print (np.shape(q))
print(someFunc(q))
返回
[[ 0.87994033 0.85120494 0.75284745 0.48595008]
[ 0.71889884 0.95544306 0.70028042 0.30932712]
[ 0.04329341 0.46292282 0.35225021 0.08891277]
[ 0.9704255 0.92635685 0.56120996 0.19240052]
[ 0.27435325 0.71029224 0.55805384 0.26967641]]
(5, 4)
(1, 5, 4)
爲什麼'形成的形狀* dna'而不是普通的'dna'? – hpaulj
順便說一句,'輸入隨機'是毫無意義的 - 你沒有使用標準的'隨機'模塊,你正在使用Numpy自己的'隨機'功能。 –
爲什麼甚至想要這個功能?你可以簡單地訪問數組的'.shape'屬性:'q.shape' –