Routineaufgaben mit Python automatisieren. Al Sweigart
Чтение книги онлайн.

Читать онлайн книгу Routineaufgaben mit Python automatisieren - Al Sweigart страница 47

Название: Routineaufgaben mit Python automatisieren

Автор: Al Sweigart

Издательство: Bookwire

Жанр: Математика

Серия:

isbn: 9783960889571

isbn:

СКАЧАТЬ spam

      ['cat', 'bat', 'rat', 'elephant']

      Der Variablen spam wird nur ein einziger Wert zugewiesen, nämlich der Listenwert (image), der aber selbst wiederum mehrere andere Werte enthält.

      Ü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] image

      'Hello cat' image

      >>> 'The ' + spam[1] + ' ate the ' + spam[0] + '.'

      'The bat ate the cat.'

      Der Ausdruck 'Hello ' + spam[0] (image) wird dabei zu 'Hello ' + 'cat' ausgewertet, da spam[0] den String 'cat' bezeichnet. Dieser Ausdruck wiederum ergibt den Stringwert 'Hello cat' (image).

      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 СКАЧАТЬ