Название: Routineaufgaben mit Python automatisieren
Автор: Al Sweigart
Издательство: Bookwire
Жанр: Математика
isbn: 9783960889571
isbn:
['cat', 'bat', 'rat', 'elephant']
Der Variablen spam wird nur ein einziger Wert zugewiesen, nämlich der Listenwert (
Übrigens gibt es vergleichbar mit dem leeren String '' auch eine leere Liste [], die keinerlei Elemente enthält.
Einzelne Elemente einer Liste mithilfe des Index abrufen
Wenn Sie die Liste ['cat', bat', 'rat', 'elephant'] in der Variablen spam gespeichert haben, wird spam[0] zu 'cat' ausgewertet, spam[1] zu 'bat' usw. Der Integer in den eckigen Klammern, der die Position in der Liste angibt, wird als Index bezeichnet. Das erste Element in einer Liste hat den Index 0, das zweite den Index 1, das dritte den Index 2 usw. Abb. 4–1 zeigt den Listenwert, der spam zugeordnet ist, und gibt an, wozu die einzelnen Indexausdrücke ausgewertet werden. Da der erste Index 0 ist, ist der letzte eins weniger als die Länge der Liste. Bei einer Liste mit vier Einträgen lautet der letzte Index also 3.
Abb. 4–1Ein Listenwert gespeichert in der Variablen spam. Die Pfeile zeigen, auf welche Elemente sich die Indizes jeweils beziehen.
Geben Sie zur Veranschaulichung die folgenden Ausdrücke in die interaktive Shell ein. Zu Anfang weisen Sie der Variablen spam dabei eine Liste zu.
>>> spam = ['cat', 'bat', 'rat', 'elephant']
>>> spam[0]
'cat'
>>> spam[1]
'bat'
>>> spam[2]
'rat'
>>> spam[3]
'elephant'
>>> ['cat', 'bat', 'rat', 'elephant'][3]
'elephant'
>>> 'Hello ' + spam[0]
'Hello cat'
>>> 'The ' + spam[1] + ' ate the ' + spam[0] + '.'
'The bat ate the cat.'
Der Ausdruck 'Hello ' + spam[0] (
Wenn Sie einen Index verwenden, der über die Anzahl der Elemente in der Liste hinausgeht, gibt Python die Fehlermeldung IndexError aus:
>>> spam = ['cat', 'bat', 'rat', 'elephant']
>>> spam[10000]
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
spam[10000]
IndexError: list index out of range
Indizes können immer nur Integerwerte sein, keine Fließkomazahlen. Das folgende Beispiel ruft den Fehler TypeError hervor:
>>> spam = ['cat', 'bat', 'rat', 'elephant']
>>> spam[1]
'bat'
>>> spam[1.0]
Traceback (most recent call last):
File "<pyshell#13>", line 1, in <module>
spam[1.0]
TypeError: list indices must be integers or slices, not float
>>> spam[int(1.0)]
'bat'
Listen können auch andere Listen enthalten. Um auf die Elemente dieser Listen zuzugreifen, verwenden Sie Mehrfachindizes:
>>> spam = [['cat', 'bat'], [10, 20, 30, 40, 50]]
>>> spam[0]
['cat', 'bat']
>>> spam[0][1]
'bat'
>>> spam[1][4]
50
Der erste Index gibt an, welche Liste abgerufen werden soll, während der zweite das Element in dieser Liste bezeichnet. Beispielsweise führt spam[0][1] zu 'bat', dem zweiten Element in der ersten Liste. Wenn Sie nur einen Index angeben, gibt das Programm die komplette Liste an dieser Indexposition aus.
Negative Indizes
Die Indexzahlen verlaufen von null aufwärts, doch Sie können auch negative Integer als Index angeben. Dabei bezeichnet der Wert -1 den letzten Index in der Liste, -2 den vorletzten usw. Geben Sie folgenden Code in die interaktive Shell ein:
>>> spam = ['cat', 'bat', 'rat', 'elephant']
>>> spam[-1]
'elephant'
>>> spam[-3]
'bat'
>>> 'The ' + spam[-1] + ' is afraid of the ' + spam[-3] + '.'
'The elephant is afraid of the bat.'
Teillisten mithilfe von Slices abrufen
Mit einem Index können Sie ein einzelnes Element aus einer Liste abrufen, mit einem СКАЧАТЬ