Seite 1 von 1

list index out of range

Verfasst: Freitag 26. Mai 2006, 11:45
von arslan
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
>>> 

Verfasst: Freitag 26. Mai 2006, 11:56
von murph
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?

Verfasst: Freitag 26. Mai 2006, 12:35
von arslan
hier ist die Liste

Code: Alles auswählen

>>> liste3
[12914000, 12716000, 12779000, 12697000, 12756000, 12688000, 12592000, 12622000, 12643000]
>>> 

Verfasst: Freitag 26. Mai 2006, 13:10
von murph
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...

Verfasst: Freitag 26. Mai 2006, 14:09
von mawe
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

Verfasst: Freitag 26. Mai 2006, 14:21
von arslan
Hallo mawe,

genau das wollte ich machen!

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

Danke auch an murph