Ok das ist mein Problem. Ich versuche, so etwas wie diese:Reallokation Liste in Python
for i in big_list:
del glist[:]
for j in range(0:val)
glist.append(blah[j])
Die Idee ist, die Liste zurückgesetzt und es für den nächsten Satz von Datenpunkten wiederverwenden. Das Problem ist, aus irgendeinem Grunde, wenn die erste Liste 3 Punkte hat,
glist[0]
glist[1]
glist[2]
Die nächste Liste von Index weiterhin 3 und speichert die letzten drei Elemente in dieser Indizes
glist[0] = 4th elem of new list
glist[1] = 5th elem of new list
glist[2] = 6th elem of new list
glist[3] = 1st elem of new list
glist[4] = 2nd elem of new list
glist[5] = 3rd elem of new list
I‘ Sicher ist es ein Problem mit zugewiesenem Speicherplatz. Aber wie kann ich diesen del g_list erreichen [:] so das Ergebnis ist,
glist[0] = 1st elem of new list
glist[1] = 2nd elem of new list
glist[2] = 3rd elem of new list
glist[3] = 4th elem of new list
glist[4] = 5th elem of new list
glist[5] = 6th elem of new list
Zuweisung Variable aus Schleife ist keine Option. Irgendwelche Ideen?
Ihre Code-Snippet sehr wenig Sinn macht. Könnten Sie Code schreiben, der näher an dem ist, was Sie wirklich tun wollen? big_list und val sind undefiniert und ich werde nie benutzt. –
"Die Zuweisung von Variablen innerhalb der Schleife ist keine Option." - Könnten Sie eine Zusammenfassung geben, warum Sie das sagen? Wenn es aus Performance-Gründen ist, denke ich, dass Sie eine Profilerstellung in Betracht ziehen sollten, bevor Sie die Annahme machen, dass dies schneller sein wird. –
Der Code in Ihrem Beispiel hat diese Effekte nicht, Sie müssen sie durch Ihren tatsächlichen Code ersetzen. Aber ich vermute, dass Sie in der Tat in der gleichen Zeit modifizieren und Looping über glitzern. Das könnte solche Effekte haben. –