Zum Inhalt springen

Kurs:Python/LG/Kurs 2010/Notizenseite

Aus Wikiversity

Listen in Python

Notizen

[Bearbeiten]

Listendurchlauf (mit while Schleife), z. B.:

horsemen = ["war", "famine", "pestilence", "death"]

i = 0
while i < 4:
  print horsemen[i]
  i = i + 1

Allerdings ist besser:

horsemen = ["war", "famine", "pestilence", "death"]

i = 0
while i < len(horsemen):
  print horsemen[i]
  i = i + 1

Hier wird über len die Länge der Liste ermittelt und anschließend die Liste nur solange durchlaufen, bis das Ende der Liste erreicht ist. Wird auf ein Listenelement zurückgegriffen, das nicht existiert, so produziert das einen Fehler (IndexError: list index out of range ).

Es ergibt sich folgende Aufgabe:

„Übung: schreibe eine Schleife, die die obige Liste durchläuft und die Länge von jedem Element ausgibt. Was geschieht, wenn man eine Ganzzahl an len übergibt?“ (Quelle)

Beispielliste: ['spam!', 1, ['Brie', 'Roquefort', 'Pol le Veq'], [1, 2, 3]]

def listendurchlauf (liste):
    i = 0
    while i < len(liste):
        print liste[i]
        print len (liste[i])
        i = i + 1 
  
liste = ['spam!', 'Text', ['Brie', 'Roquefort', 'Pol le Veq'], [1, 2, 3]]

print liste

print listendurchlauf (liste)

Ergibt:

['spam!', 'Text', ['Brie', 'Roquefort', 'Pol le Veq'], [1, 2, 3]]
spam!
5
Text
4
['Brie', 'Roquefort', 'Pol le Veq']
3
[1, 2, 3]
3
None

Das ist an sich so gewollt, allerdings unklar, wie es zu der None-Ausgabe kommt.