Hallo,
ich bin Neuling in der Programmierung mit python und so stehe ich vor folgendem Problem:
Und zwar möchte ich eine 8x8 Matrix erzeugen, welche mit 0en vorbelegt ist.
Wenn ich jedoch versuche den Wert einzelner Werte der Matrix zu verändern, dann wird
die ganze Spalte der Matrix verändert.
Matrix = [[[None]]*8]*8
for i in range(0, len(Matrix)):
for j in range(0, len(Matrix)):
Matrix[j] = 0
Wenn ich jetzt z.B. versuche an der Stelle [0][0] den Wert 1 einzufügen mit
Matrix[0][0] = 1
dann wird die ganze erste Spalte der Matrix mit 1en belegt.
Für Hilfe wäre ich sehr dankbar
Bestimmtes Element in Matrix ändern
@CodeIt: Du erzeugst nur eine Liste mit einem Element None, das Du 8 mal in eine andere Liste steckst, die Du 8 mal in eine dritte Liste einfügst.
Du willst aber 8 Listen mit 8 Nullen füllen:
oder kurz:
Du willst aber 8 Listen mit 8 Nullen füllen:
Code: Alles auswählen
matrix = []
for i in range(8):
matrix.append([0]*8)
Code: Alles auswählen
matrix = [[0] * 8 for i in range(8)]
- noisefloor
- User
- Beiträge: 3856
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
wenn du später auch damit Rechnen willst, dann empfiehlt sich unter Python der Einsatz von Numpy.
Da erzeugst du einen mit nullen vorbelegen 8x8 Array so:
[codebox=pycon file=Unbenannt.txt]>>> import numpy as np
>>> a = np.zeros([8,8], dtype=int)
>>> a
array([[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0]])
>>>
[/code]
Gruß, noisefloor
wenn du später auch damit Rechnen willst, dann empfiehlt sich unter Python der Einsatz von Numpy.
Da erzeugst du einen mit nullen vorbelegen 8x8 Array so:
[codebox=pycon file=Unbenannt.txt]>>> import numpy as np
>>> a = np.zeros([8,8], dtype=int)
>>> a
array([[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0]])
>>>
[/code]
Gruß, noisefloor