Hallo Forumsgemeinde!
Ich arbeite im Zuge meines Mathematikstudiums mit dem Programm Sage und bin bei einer Aufgabenstellung auf folgendes Problem gestoßen (ich muss erwähnen, dass ich programmiertechnisch noch sehr wackelig auf den Beinen bin ...):
Ich habe ein befülltes Dictionary der Länge n und möchte an den ersten m Stellen weitere Werte hinzufügen. Also war meine Idee: array[n + m] = array[n], [array[n + m - 1] = array[n - 1] usw., am einfachsten mit einer Schleife. Habe ich meine Einträge so verschoben, füge ich durch die frei gewordenen ersten m Felder meine gewünschten Werte ein. Allerdings folgt dann sofort "IndexError: list assignment index out of range". Ich nehme stark an, dass "array[n + m]" das Problem erzeugt, da eben dieser Index noch nicht existiert. Liege ich richtig?
Ich hoffe, ich habe mein Problem einigermaßen verständlich geschildert und würde mich sehr über Hilfestellungen freuen.
Liebe Grüße
morfius
Dictionary IndexError
Du scheinst doch gar kein Dictionary, sondern eine Liste zu verwenden? Sonst würde es keinen IndexError werfen. Aber wenn du sowieso Zahlen als Schlüssel benutzt, dann kannst du meiner Meinung nach auch eine Liste nehmen. Dann musst du auch nicht lauter Zahlen „per Hand“ verschieben, sondern kannst list.insert(0, wert) benutzen. Arrays heißen bei Python übrigens Listen, außer du meinst wirklich Arrays aus dem array-Modul.morfius hat geschrieben:Hallo Forumsgemeinde!
Ich arbeite im Zuge meines Mathematikstudiums mit dem Programm Sage und bin bei einer Aufgabenstellung auf folgendes Problem gestoßen (ich muss erwähnen, dass ich programmiertechnisch noch sehr wackelig auf den Beinen bin ...):
Ich habe ein befülltes Dictionary der Länge n und möchte an den ersten m Stellen weitere Werte hinzufügen. Also war meine Idee: array[n + m] = array[n], [array[n + m - 1] = array[n - 1] usw., am einfachsten mit einer Schleife. Habe ich meine Einträge so verschoben, füge ich durch die frei gewordenen ersten m Felder meine gewünschten Werte ein. Allerdings folgt dann sofort "IndexError: list assignment index out of range". Ich nehme stark an, dass "array[n + m]" das Problem erzeugt, da eben dieser Index noch nicht existiert. Liege ich richtig?
Ich hoffe, ich habe mein Problem einigermaßen verständlich geschildert und würde mich sehr über Hilfestellungen freuen.
Liebe Grüße
morfius