Читать книгу 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.

Routineaufgaben mit Python automatisieren

Подняться наверх