Ich schrieb eine Funktion zum Umgang mit Arrays.Dimension eines Arrays innerhalb der Funktion geändert
Ich übergab das 2D-Array in die Funktion als "someFunc (* dna)", aber innerhalb der Funktion erwies es sich als 3D.
Warum hat sich die Dimension geändert? Wie kann ich die gleiche Dimension des Arguments beibehalten, das ich in der Funktion übergeben habe?
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))
Returns
[[ 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)
Warum ' * dna' statt einfacher 'dna'? – hpaulj
BTW, dass "Import zufällig" ist sinnlos - Sie verwenden nicht das Standard-'random' Modul, Sie verwenden Numpy's eigene' random' Funktion. –
Warum wollen Sie sogar eine Funktion dafür? Sie können einfach auf das '.shape'-Attribut des Arrays zugreifen:' q.shape' –