jist eine leere Liste, aber Sie versuchen, [0]in der ersten Iteration, die noch nicht vorhanden ist , in ein Element zu schreiben .
Versuchen Sie stattdessen Folgendes, um am Ende der Liste ein neues Element hinzuzufügen:
for l in i:
j.append(l)
Natürlich würden Sie dies in der Praxis niemals tun, wenn Sie nur eine vorhandene Liste kopieren möchten. Sie würden einfach tun:
j = list(i)
Wenn Sie die Python-Liste wie ein Array in anderen Sprachen verwenden möchten, können Sie alternativ eine Liste vorab erstellen, deren Elemente auf einen Nullwert gesetzt sind ( Noneim folgenden Beispiel), und später die Werte an bestimmten Positionen überschreiben:
i = [1, 2, 3, 5, 8, 13]
j = [None] * len(i)
#j == [None, None, None, None, None, None]
k = 0
for l in i:
j[k] = l
k += 1
Zu beachten ist, dass Sie mit einem listObjekt einem nicht vorhandenen Index keinen Wert zuweisen können.
appendist die richtige Lösung für Ihren Anwendungsfall, es gibt jedoch eine Einfügemethode für die Python-Liste, die direkt an die i-te Position in der Liste eingefügt werden kann.j.insert(k, l)