Indizierungsproblem

01/03/2010 - 10:19 von Ole Streicher | Report spam
Hallo Gruppe,

ich stehe gerade auf dem Schlauch, was die mehrdimensionale Indizierung
betrifft.

Ich habe eine Liste mit Koordinaten der Form
[[0,0,1], [0,0,2], [0,0,4], ... ]

und möchte damit auf ein mehrdimensionales Array zugreifen. Etwa sowas:

for c in coords:
myvalue = myarray[c[0],c[1],c[2]]
do_something_smart(myvalue)

Das problem ist nur: ich kenne die Dimension von myarray (und damit die
Lànge von coords) nicht. Wie kann ich das allgemein formulieren?

Viele Grüße

Ole
 

Lesen sie die antworten

#1 mark.asbach
01/03/2010 - 10:45 | Warnen spam
Hallo Ole,

Ich habe eine Liste mit Koordinaten der Form
[[0,0,1], [0,0,2], [0,0,4], ... ]

und möchte damit auf ein mehrdimensionales Array zugreifen. Etwa sowas:



Du solltest für solche Aufgaben direkt numpy benutzen. Zum einen ist das
in der Regel schneller und erzeugt kompaktere Speicherstrukturen, zum
anderen erlaubt es viel praktischere Indizierung.

http://numpy.org

In numpy hat ein mehrdimensionales Array einen Member "shape", der die
gewünschte Information tràgt. Wenn Du unabhàngig von den Ausdehnungen
eines Arrays auf alle Elemente einmal zugreifen willst, kannst Du
darüber hinaus den Iterator "flat" nehmen.

Gruß, Mark

Ähnliche fragen