Hi, ich steh mal wieder ein wenig auf dem Schlauch und aus irgendeinem Grund kann mir auch Tante Google grade nicht weiterhelfen:
Wie erstelle ich nochmal ein mehrdimensionales Array in Python? In C++ ginge das beispielsweisr mit int feld[dimx][dimy]. Klar, in python werden sowohl das int, als auch die festen Dimensionen wegfallen, aber ich komm einfach nicht drauf, wies dann aussehen muss.
Vielen dank für eure Hilfe
2d Array in Python
Code: Alles auswählen
In [1]: foo = [1, [2, 3]]
In [2]: foo[0]
Out[2]: 1
In [3]: foo[1]
Out[3]: [2, 3]
In [4]: foo[1][0]
Out[4]: 2
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Das heißt nicht Array sondern Liste. Arrays gibt es in Python auch, nur ist das eben genau das was man in C auch Array nennt.
Code: Alles auswählen
l = [[1, 2, 3],[4, 5, 6]
print l[0][1]
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- User
- Beiträge: 34
- Registriert: Sonntag 24. August 2008, 21:50
Jep, das ist genau das was ich suchte. Eigentlich auch logisch. Eine Liste, deren Elemente weitere Listen sind. Dankeschön. Schöne Lösung
Zuletzt geändert von alfonsospringer am Dienstag 11. November 2008, 19:05, insgesamt 1-mal geändert.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Das sind die Eingabeprompts und die Ausgabe von IPython (analog zu >>> im normalen Interpreter), einem etwas aufgemotzten "Aufsatz" auf den normalen Python-Interpreter.alfonsospringer hat geschrieben:Code: Alles auswählen
in: ? out: ?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- User
- Beiträge: 34
- Registriert: Sonntag 24. August 2008, 21:50
Wow, ihr seit ja flott. Vielen dank
Noch'n kleiner Tip:
yipyip
Code: Alles auswählen
In [44]: arr2 = [[0] * 3 for i in range(4)]
In [45]: arr2
Out[45]: [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
In [46]: arr2[1][2] = 13
In [47]: arr2
Out[47]: [[0, 0, 0], [0, 0, 13], [0, 0, 0], [0, 0, 0]]
In [48]: arrgh2 = [[0] * 3] * 4
In [49]: arrgh2
Out[49]: [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
In [50]: arrgh2[1][2] = 13
In [51]: arrgh2
Out[51]: [[0, 0, 13], [0, 0, 13], [0, 0, 13], [0, 0, 13]]
In [52]: id(arr2[0])
Out[52]: 3079328236L
In [53]: id(arr2[1])
Out[53]: 3079330252L
In [54]: id(arrgh2[0])
Out[54]: 3079338188L
In [55]: id(arrgh2[1])
Out[55]: 3079338188L
yipyip
Ja, man muss sich alles nur richtig "hinschreiben"yipyip hat geschrieben:Noch'n kleiner Tip:
Code: Alles auswählen
>>> m=[
[1,2,3],
[4,5,6],
[7,8,9]]
>>> m[0][0]
1
>>> m[1][1]
5
>>> m[2][2]
9
>>>