Benutzer-Werkzeuge

Webseiten-Werkzeuge


python:zaehlschleifen:listen

Listen

Listen gehören in Python zu den zusammengesetzten Datentypen. Eine Liste kann man sich als einen Behälter für mehrere Werte vorstellen. Diese Werte können unterschiedliche Datentypen haben Sie können sogar selbst wieder Listen sein. Listen erkennt man in Python durch eckige Klammern. In den Klammern werden die Werte durch ein Komma getrennt.

Beispiele:

[1,23,7,4]
["Hallo",4,34.2,[1,2,3]]

In der ersten Liste sind nur ganze Zahlen als Werte enthalten. In der zweiten Liste stehen Werte unterschiedlicher Datentypen, wobei der letzte Wert [1,2,3] selbst eine Liste ist.

Definition einer Listen

Eine Liste kann man einfach durch den Zuweisungsoperator = anlegen:

Beispiele:

liste1 = [1,23,7,4]
liste2=["Glauchau","Meerane","Waldenburg", "Mülsen", "Thurm"]
liste3=[[1,2,3],[4,5,6],[7,8,9]]
liste4=[] #leere Liste

Auch das Anlegen einer leeren Liste kann sinnvoll sein, wenn man durch Anhängen von weiteren Listenelementen eine Liste aufbauen will. (Siehe unten!)

Zugriff auf die Listenelemente

Wir betrachten die Liste

liste1=[1,23,21,23,12]

Die gesamte Liste lässt sich mit Hilfe der print-Anweisung ausgeben:

>>> print(liste1)
[1, 23, 21, 23, 12]

Auf einzelne Listenelemente kann man durch Angabe der Nummer (den Index) des Listenelements zugreifen. Die Nummer steht dabei nach dem Listennamen in eckigen Klammern. Die Zählung beginnt bei 0.

>>> print(liste1[2])
21

Teilbereiche

Auf Teilbereiche(-listen) von Listen kann man mit Hilfe sogenannter Slices zugreifen. ein Slice wird in der Form [n:m] nach dem Listenname angegeben. Er gibt ein Objekt vom Datentyp Liste zurück. Wenn man n weglässt ([:m]), wird der Wert 0 für n angenommen, wenn man m weglässt, wird der Index des letzten Listenelements für m angenommen.

Beispiele:

>>> liste = [2, 5, 7, 3, 11, 15]
>>> print(liste[1:4])
[5, 7, 3]
>>> print(liste[:4])
[2, 5, 7, 3]
>>> print(liste[1:])
[5, 7, 3, 11, 15]
>>> print(liste[:])
[2, 5, 7, 3, 11, 15]
>>> print(liste[3:3])
[]

Zugriff auf die Listenelemente bei mehrdimensionalen Listen

Mehrdimensionale Listen sind Listen, die als Elemente wieder Listen enthalten. Auf die Elemente dieser Listen kann man zugreifen, indem man die Indizes der äußeren und der inneren Liste einfach an den Listennamen anhängt. Bei liste[i][j] wäre i der Index der äußeren Liste und j der Index der inneren Liste. An Stelle der Indizes in eckigen Klammern können auch Slices stehen.

Beispiele:

Definierte Liste:

liste=[[1,2,3],[4,5,6],[7,8,9]]

Zugriff auf die Elemente:

>>> print(liste[1])
[4, 5, 6]
>>> print(liste[1][2])
6
>>> print(liste[2][1:3])
[8, 9]

Weitere Listenfunktionen

Wir betrachten die Liste

liste=[1,23,21,23,12]

Um den Wert eines Listenelements zu ändern benutzt man den Zuweisungsoperator =:

>>> liste1[1]=555
>>> print(liste1)
[1, 555, 21, 23, 12]

Mit der Funktion append kann man Elemente an eine Liste anhängen.

>>> liste1.append(555)
>>> print(liste1)
[1, 23, 21, 23, 12, 555]

Mit der Funktion del kann man Elemente oder Teilbereiche von Listen löschen.

>>> del liste1[1:3]
>>> print(liste1)
[1, 23, 12]

Verwendung der for-Anweisung auf Listen

Die for-Anweisung lässt sich auch direkt auf Listen anwenden. So hat die Anweisung

for i in range(5):

dieselbe Wirkung wie

for i in [0, 1, 2, 3, 4]:

i nimmt der Reihe nach jeden Wert der Liste an.

Auf diese Weise lassen sich auch Schleifen konstruieren, bei denen die Schleifenvariablen auch andere Werte als ganze Zahlen annehmen können. In der Schleife

for wert in ["Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"]:

nimmt die Variable wert bei jeden Durchlauf der Reihe nach jeden Wochentag einmal als Wert an.

Erklärvideo zur Seite

Vertiefung

Im Lehrbuch inf-Schule wird das Thema nochmal vertieft:

Aufgaben

Aufgabe 1

Welche Ausgabe erfolgt jeweils bei den einzelnen print-Anweisungen? Überprüfe jeweils in einer Pythonshell!

>>> liste = [2, 7, 15, 28, 45, 12, 17, 33]
>>> print(liste)
[2, 7, 15, 28, 45, 12, 17, 33]
>>> print(liste[5])
 
>>> print(liste[3:7])
 
>>> print(liste[:5])
 
>>> print(liste[3:])

Aufgabe 2

Welche Ausgabe erfolgt jeweils bei den einzelnen print-Anweisungen? Überprüfe jeweils in einer Pythonshell!

>>> liste=[[2,1,4,5],[3,2,1,8]]
>>> print(liste[1])
[3, 2, 1, 8]
>>> print(liste[0][3])
 
>>> print(liste[1][:2])

Aufgabe 3

Welche Ausgabe erfolgt jeweils bei den einzelnen print-Anweisungen? Beachte, dass sich die Liste nach bestimmten Anweisungen ändert. Überprüfe jeweils in einer Pythonshell!

>>> liste=[12,15,21,13,17,9,6,14]
>>> liste[4]=88
>>> print(liste)
 
>>> liste.append(16)
>>> print(liste)
 
>>> del(liste[3])
>>> print(liste)
 
>>> del(liste[5:])
>>> print(liste)


>> Lösungen


Hier können Fragen zum Inhalt der Seite gestellt werden.

Geben Sie Ihren Kommentar ein. Wiki-Syntax ist zugelassen:
S W X A I
 
python/zaehlschleifen/listen.txt · Zuletzt geändert: 2020/11/21 09:59 von lutz