Seite 1 von 1
2d Array in Python
Verfasst: Dienstag 11. November 2008, 18:57
von alfonsospringer
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
Verfasst: Dienstag 11. November 2008, 19:01
von DasIch
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
Das wäre dann übrigens eine Liste.
Verfasst: Dienstag 11. November 2008, 19:02
von Leonidas
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.
Verfasst: Dienstag 11. November 2008, 19:02
von alfonsospringer
Jep, das ist genau das was ich suchte. Eigentlich auch logisch. Eine Liste, deren Elemente weitere Listen sind. Dankeschön. Schöne Lösung
Verfasst: Dienstag 11. November 2008, 19:04
von Leonidas
alfonsospringer hat geschrieben:
Das sind die Eingabeprompts und die Ausgabe von IPython (analog zu >>> im normalen Interpreter), einem etwas aufgemotzten "Aufsatz" auf den normalen Python-Interpreter.
Verfasst: Dienstag 11. November 2008, 19:04
von DasIch
Die kommen von IPython, einer Python Shell.
Verfasst: Dienstag 11. November 2008, 19:05
von alfonsospringer
Wow, ihr seit ja flott. Vielen dank
Verfasst: Dienstag 11. November 2008, 19:35
von yipyip
Noch'n kleiner Tip:
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
Verfasst: Dienstag 11. November 2008, 19:47
von Qubit
yipyip hat geschrieben:Noch'n kleiner Tip:
Ja, man muss sich alles nur richtig "hinschreiben"
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
>>>