< Kurs:Python < LG < Kurs 2010

Listen in Python

Notizen

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.

This article is issued from Wikiversity. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.