Listen/Arrays - "Index Out Of Range"

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Neu111
User
Beiträge: 69
Registriert: Dienstag 10. März 2020, 19:02

Hallo,
wie muss ich meinen Code gestalten, wenn ich den Inhalt von test[5] auslesen muss, es aber Fälle gibt, in denen test[5] gar nicht existiert?

Code: Alles auswählen

try:
...
...
except IndexError as error:
 
Dieser Code funktioniert zwar, jedoch entsteht ein neues Problem:

Nehmen wir mal an, eine Schleife wird 3mal durchlaufen.
- Beim ersten Durchlauf existiert test[5] nicht
- Beim zweiten Durchlauf existiert test[5]
- Beim dritten Durchlauf existiert test[5] nicht

Mit "try ... except" wird die Schleife bereits nach dem ersten Durchlauf abgebrochen, da test[5] nicht vorhanden ist.
Wie kann ich das Problem lösen, so dass die 3 Schleifendurchläufe trotzdem durchgeführt werden?
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

Indem du mit einer for-Schleife über die Elemente der Liste iterierst. Dann ist es egal, wieviele Elemente da sind.
Sirius3
User
Beiträge: 18272
Registriert: Sonntag 21. Oktober 2012, 17:20

Warum gibt es denn mal 5 Elemente und mal nicht?
derHoepp
User
Beiträge: 4
Registriert: Donnerstag 9. Januar 2020, 22:21

Moinsen,

ich als seit-längerem-mitlesender-amateur würde ja vermuten, dass dich die len() Funktion im Zusammenhang mit einer einfachen if-Abfrage schon sehr weit bringt.

Viele Grüße
derHöpp
Antworten