Sehr geehrte Damen und Herren,
Ich bin Anfänger in Python. Ich habe mal versucht in den letzten 2 Stunden das Problem selbst zu lösen, aber schaffe es nicht.
Ich versuche eine 3x3 Matrix zu erstellen, an den jeweiligen Matrixknotenpunkten soll dann kein Einzelwert sondern ein Wertepaar (mit Komma oder anderweitig separiert) stehen:
0,0 0,0 0,0
0,0 0,0 0,0
0,0 0,0 0,0
1) Wie kann ich ein solches Array mit einer Schleife darstellen ?
2) wie kann ich danach Einzelpaare ändern ?
0,0 1,1 0,0
0,0 0,0 0,0
3,3 0,0 0,0
3) wie kann ich auf ein bestimmtes Wertepaar zugreifen ? (z.B. auf die 3,3 in Zeile 3) ?
4) Wie kann ich auf einen Einzelwert zugreifen z.B auf die erste 3 ?
Mit freundlichen Grüßen
mikelson
10x10 Matrix mit Wertepaaren
Es gibt mindestens zwei gängige Wege, das (ohne externe Bibliotheken) mit eingebauten Datenstrukturen zu erreichen: Entweder mit einer Liste von Listen von Listen/Tupels(für die Wertpaare). Oder mit einem Dictionary, bei dem die Keys ein Tupel für die Zeile/Spalten sind und die Values deine Wertpaare. Was du am besten verwendest, hängt vom Anwendungsfall ab.
Code: Alles auswählen
In [1]: from pprint import pprint
In [2]: p = [[[i, j] for j in range(3)] for i in range(3)]
In [3]: q = {(i, j): (i, j) for i in range(3) for j in range(3)}
In [4]: pprint(p)
[[[0, 0], [0, 1], [0, 2]],
[[1, 0], [1, 1], [1, 2]],
[[2, 0], [2, 1], [2, 2]]]
In [5]: pprint(q)
{(0, 0): (0, 0),
(0, 1): (0, 1),
(0, 2): (0, 2),
(1, 0): (1, 0),
(1, 1): (1, 1),
(1, 2): (1, 2),
(2, 0): (2, 0),
(2, 1): (2, 1),
(2, 2): (2, 2)}
In [6]: p[1][2]
Out[6]: [1, 2]
In [7]: q[1,2]
Out[7]: (1, 2)