list 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.
arslan
User
Beiträge: 5
Registriert: Donnerstag 18. Mai 2006, 10:54

list index out of range

Beitragvon arslan » Freitag 26. Mai 2006, 11:45

Hallo zusammen

wie könnte ich diesen Fehler umgehen?

Vielen Dank
arslan

Code: Alles auswählen

>>> for i in liste3:
   veränderung=liste3[z+1]-liste3[z]
   z=z+1
   print veränderung

   
-198000
63000
-82000
59000
-68000
-96000
30000
21000

Traceback (most recent call last):
  File "<pyshell#43>", line 2, in -toplevel-
    veränderung=liste3[z+1]-liste3[z]
IndexError: list index out of range
>>>
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

Beitragvon murph » Freitag 26. Mai 2006, 11:56

das sieht ganz eindeutig so aus, als ob du damit versuchst, auf Teile der Liste zuzugreifen, die es gar nicht giebt.
Aber wieso zeigst du uns nicht auch die Liste?
arslan
User
Beiträge: 5
Registriert: Donnerstag 18. Mai 2006, 10:54

Beitragvon arslan » Freitag 26. Mai 2006, 12:35

hier ist die Liste

Code: Alles auswählen

>>> liste3
[12914000, 12716000, 12779000, 12697000, 12756000, 12688000, 12592000, 12622000, 12643000]
>>>
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

Beitragvon murph » Freitag 26. Mai 2006, 13:10

habe es mir noch einmal angekuckt und der fehler liegt darin, dass z bis auf die neunte position geht, da ja dort keine grenze gesetzt wurde,
also irgendwie verhindern, dass er versucht, das neunte element der liste anzusprechen!
weil ich nicht weiß, was das bringen soll und auch die weiteren rahmenbedingungen mir vorbehalten sind, kann ich da aber nicht weiterhelfen...
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Beitragvon mawe » Freitag 26. Mai 2006, 14:09

Hi!

@arslan, der Code den Du gepostet hast, funktioniert schon mal überhaupt nicht. Die Elemente der Liste bezeichnest Du als i, und was ist z?

Was willst Du denn überhaupt machen? Wenn Du einfach die Differenz von aufeinanderfolgenden Elementen berechnen willst, geht das z.B. so:

Code: Alles auswählen

for i in range(len(liste3)-1):
    print liste3[i+1] - liste3[i]


Gruß, mawe
arslan
User
Beiträge: 5
Registriert: Donnerstag 18. Mai 2006, 10:54

Beitragvon arslan » Freitag 26. Mai 2006, 14:21

Hallo mawe,

genau das wollte ich machen!

Vielen Dank. Ich bin anfänger, daher bringe ich manche sachen noch durcheinander.

Danke auch an murph

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]