Seite 1 von 1

dreidimensionale Felder

Verfasst: Donnerstag 20. April 2006, 19:14
von goofi
Hallo,
beherrscht Python dreidimensionale Felder? - Ich kann sie initialisieren und in der Shell ausgeben, aber ich kann nicht auf die einzelnen Felder zugreifen.

Weiß jemand, wie das geht???

Schon mal danke,
goofi

Verfasst: Donnerstag 20. April 2006, 19:19
von modelnine
Das ist alles eine Frage der Darstellung (wie in jeder Programmiersprache):

Code: Alles auswählen

a = [[[1,2],[3,4],[5,6]],[[7,8],[9,10],[11,12]]]

print a[0][0][1], a[1][2][0]
wäre zum Beispiel ein Dreidimensionales Feld 2x3x2. Wenn der Inhalt der Matrix "dicht" ist, sind verschachtelte Listen/Tupel im Normalfall die sinnigste Darstellungsart.

Wenn die Matrix eher spärlich besiedelt ist, ist häufig ein dict sinnvoll:

Code: Alles auswählen

a = {(0,1,1):1,(5,3,4):2,(6,2,2):7}

print a.get((0,1,1),0), a.get((2,1,1),0)
wäre eine Datenstruktur mittels eines hashes, die den Standardwert 0 nimmt (siehe das hinter dem get), und die nur Einträge speichert, die tatsächlich vorhanden sind.

Sonst: numarray bzw. Numeric sind auf jeden Fall, wenn Du mehr mit den Matrizen machen willst, Dein Freund. Und um die Pakete zu finden ist es Google. ;-)

Verfasst: Donnerstag 20. April 2006, 23:35
von goofi
@ modelnine:
Vielen Dank, dann lag ich ja gar nicht so falsch (so hatte ich die Tutorials, die ich gelesen habe, auch verstanden)

Mal sehen, was ich da falsch gemacht habe.

Gruß,
goofi