我编写了一个处理数组的函数。在函数内部更改了数组的维数
我把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' –