Читать книгу Routineaufgaben mit Python automatisieren - Al Sweigart - Страница 116
Listen in for-Schleifen
ОглавлениеIn Kapitel 2 haben Sie gelernt, wie Sie einen Codeblock mithilfe einer for-Schleife eine gegebene Anzahl von Malen ausführen. Technisch gesehen wiederholt eine for-Schleife den Codeblock einmal für jedes Element in einem Listenwert. Nehmen wir an, Sie führen folgenden Code aus:
for i in range(4):
print(i)
Die Ausgabe dieses Programms lautet wie folgt:
0
1
2
3
Der Grund dafür ist, dass der Rückgabewert von range(4) ein sequenzieller Wert ist, den Python ähnlich wie [0, 1, 2, 3] auffasst. (Sequenzen werden weiter hinten in diesem Kapitel im Abschnitt »Sequenzielle Datentypen« behandelt.) Das folgende Programm führt zu der gleichen Ausgabe wie oben:
for i in [0, 1, 2, 3]:
print(i)
Diese for-Schleife durchläuft seine Klausel, wobei die Variable i bei jeder Iteration auf den nächstfolgenden Wert der Liste [0, 1, 2, 3] gesetzt wird.
Eine übliche Python-Technik besteht darin, range(len(eineListe)) in einer for-Schleife zu verwenden, um über die Indizes einer Liste zu iterieren. Geben Sie beispielsweise folgenden Code in die interaktive Shell ein:
>>> supplies = ['pens', 'staplers', 'flamethrowers', 'binders']
>>> for i in range(len(supplies)):
... print('Index ' + str(i) + ' in supplies is: ' + supplies[i])
Index 0 in supplies is: pens
Index 1 in supplies is: staplers
Index 2 in supplies is: flamethrowers
Index 3 in supplies is: binders
Die Verwendung von range(len(supplies)) in dieser for-Schleife ist sehr praktisch, da der Code in der Schleife auf den Index (die Variable i) zugreifen und den Wert an diesem Index (also supplies[i]) lesen kann. Das Beste aber ist, dass range(len(-supplies)) stets sämtliche Indizes von supplies durchläuft, wie viele Elemente die Liste auch immer enthält.