List index out of range
Ich habe ein Programm geschrieben, das macht Sie sicher, dass jeder cookie hat mehr als 5 chips vor dem verschieben auf.
Allerdings ist die Grenze if cookie[i] > 5:
scheint problematisch zu sein, wie es produziert ein "list index out of range" Fehler. Ich dachte foo = []
erstellt eine Liste ohne Ende, so verstehe ich nicht, warum alle Zahl außerhalb des Bereichs in dieser Liste. Was mache ich falsch?
cookie = []
...
for i in range(0, 11):
if cookie[i] > 5:
break
InformationsquelleAutor awesomeguy | 2011-06-11
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen:
Sehen Sie, wenn Sie nicht setzen alles in ihm werden, dass er die Größe 0. Mit
cookie = []
Sie können ständig das hinzufügen von Elementen zu der Liste, aber es ist leer initialisiert.Wie etwa:
Kann man nicht wirklich eine Liste ohne Ende, dass in Ihrem Fall vermutlich nur Nullen.
Sie können jedoch erstellen eine Liste mit 11 Nullen:
Oder etwas schaffen, das gibt
0
wenn Sie Zugriff auf einen index, sofern Sie nicht etwas anderes drin:Beachten Sie, dass dies ist nicht eine Liste, sondern eine Landkarte.
cookie = []
erstellt eine leere Liste ohne Daten, so dass keine Indizes hier. Sie benötigen, füllencookie
mit einigen Daten zunächst (z.B. mitcookie.append(some_data)
).foo=[]
nicht erstellen Sie eine Liste ohne Ende. Stattdessen wird eine leere Liste.Könnten Sie tun,
Oder Sie tun können,
foo = []
schafft eine leer Liste nicht eine Liste ohne Ende. Alle index-Zugriff wird nicht auf eine leere Liste. Zum überprüfen der Länge einer Liste, verwenden Sielen(mylist)
. Die Länge der leeren Liste ist 0, und sind die Indizes null-basiert. Also:Sehen die Liste docs