Beim Versuch, eine Liste zu erstellen, indem jedes Element einzeln zugewiesen wird, kann ein IndexError auftreten. Dieses Problem tritt auf, wenn Sie Indizes in einer leeren Liste festlegen, die noch nicht vorhanden sind.
Bedenken Sie beispielsweise den folgenden Code:
i = [1, 2, 3, 5, 8, 13] j = [] k = 0 for l in i: j[k] = l k += 1
Wenn Sie diesen Code ausführen, werden Sie Folgendes tun Erhalten Sie den Fehler „IndexError: Listenzuweisungsindex außerhalb des gültigen Bereichs“. Um dieses Problem zu beheben, sollten Sie die Methode append() verwenden, um Elemente am Ende der Liste hinzuzufügen:
for l in i: j.append(l)
Wenn Sie jedoch ein Array-ähnliches Verhalten wünschen, können Sie Ihre Liste vorab ausfüllen mit None-Werten und überschreiben Sie sie dann bei bestimmten Indizes:
i = [1, 2, 3, 5, 8, 13] j = [None] * len(i) k = 0 for l in i: j[k] = l k += 1
Zusammenfassend lässt sich sagen, dass Python-Listen bereits vorhandene Indizes für die Zuweisung erfordern und die Methode append() zur einfachen Erweiterung bieten. Um ein Array zu emulieren, können Sie manuell eine Liste mit „Keine“-Platzhaltern erstellen und dann Werte nach Index zuweisen.
Das obige ist der detaillierte Inhalt vonWarum schlägt die Listenzuweisung mit IndexError in Python fehl und wie kann ich Elemente korrekt anhängen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!