dreidimensionale Felder

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
goofi
User
Beiträge: 2
Registriert: Montag 17. April 2006, 21:38

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
modelnine
User
Beiträge: 670
Registriert: Sonntag 15. Januar 2006, 18:42
Wohnort: Celle
Kontaktdaten:

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. ;-)
--- Heiko.
goofi
User
Beiträge: 2
Registriert: Montag 17. April 2006, 21:38

@ 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
Antworten