Listen generieren, Referenzen und Co
Verfasst: Donnerstag 28. Februar 2008, 11:27
Hallo zusammen,
da hier einige heftige Python-Kenner präsent sind, stelle ich mal folgende Frage:
Wie kann man auf einfachste (oder schnellste oder beides?) Art Listen von Listen erzeugen, die mit einem konstanten Wert gefüllt sind?
Genauer: Ich brauche Listen von folgender Struktur:
Dabei ist die Anzahl von einem Parameter (anz) abhängig und die Länge der inneren Listen ebenfalls von diesem, nur Minus 1! Also in diesem Bsp 4 mal die -1er-Listen und darin 3 mal die -1.
Ich habe das jetzt so gelöst:
Ist das so optimal? Wenn ja, wäre das ja in einem solchen Fall immer ein Idealkonzept!
Ich hatte davor folgende Lösung, die mir lange Zeit Kopfzerbrechen bereitet hat, da es sich nur um Referenzen der inneren Listen handelt, was in meinem Falle nicht gewünscht ist:
Das diese daran: Beide Varianten ergeben bei der Ausgabe das gleiche - erst wenn man Werte darin ändert erlebt man die "böse" Überraschung 
Also zurück zur eigentlich Frage oben: Ist meine Lösung so gut und vertretbar? Oder geht es (noch) eleganter?
da hier einige heftige Python-Kenner präsent sind, stelle ich mal folgende Frage:
Wie kann man auf einfachste (oder schnellste oder beides?) Art Listen von Listen erzeugen, die mit einem konstanten Wert gefüllt sind?
Genauer: Ich brauche Listen von folgender Struktur:
Code: Alles auswählen
[[-1, -1, -1], [-1, -1, -1], [-1, -1, -1], [-1, -1, -1]]
Ich habe das jetzt so gelöst:
Code: Alles auswählen
gruppe = [[-1] * (anz-1) for i in range(anz)]
Ich hatte davor folgende Lösung, die mir lange Zeit Kopfzerbrechen bereitet hat, da es sich nur um Referenzen der inneren Listen handelt, was in meinem Falle nicht gewünscht ist:
Code: Alles auswählen
gruppe = [[-1] * (anz-1)] * anz

Also zurück zur eigentlich Frage oben: Ist meine Lösung so gut und vertretbar? Oder geht es (noch) eleganter?