Python Liste
Angenommen, du willst eine Einkaufsliste in deinem Pythonprogramm einbauen. Wie machst du das? Ganz einfach: Mit Python Listen kannst du nicht nur einen einzelnen Wert, sondern eine Liste von Werten speichern. Schaue dir auch unser Python Tutorial dazu an!
Inhaltsübersicht
Python Liste einfach erklärt
Wie der Name vermuten lässt, kannst du mit Listen eine Reihe von Werten speichern. Einen einzelnen Wert nennst du Element. Listen stellst du mit eckigen Klammern [ ] dar. Die Elemente trennst du mit Kommata. Du kannst alle Datentypen in eine Liste schreiben und sie nach Belieben mischen. Du kannst sogar Listen in eine Liste schreiben.
1 einkauf = ["Brot", "Eier", "Milch", "Gurke"]
2 liste = [[1, 2], [3, 4.2, 5], "AbC"]
Aber wie kannst du die einzelnen Werte aus deiner Liste lesen? Jedes Element in deiner Python Liste hat eine Nummer (auch Index genannt). Wenn du hinter den Namen deiner Liste den Index in eckigen Klammern schreibst, kannst du das entsprechende Element auslesen. Wichtig: Python fängt bei 0 an zu zählen!
Eingabe:
1 ware = einkauf[0]
2 print(ware)
3 print(einkauf[1])
4 print(einkauf[2])
Ausgabe:
Brot
Eier
Milch
Listen verändern
Natürlich kannst du Listen auch verändern. Das machst du wieder mit den Indices. Weise einfach einem Listenelement einen neuen Wert zu (Zeile 2) und fertig!
Eingabe:
1 liste = ["a", "b"]
2 liste[1] = 2
3 print(liste)
Ausgabe: ["a", 2]
Aber was tust du, wenn deine Liste zu kurz ist und du sie verlängern willst? Dafür gibt es die append-Funktion.
Python append()
Mit append() kannst du deine Python Liste verlängern. Du schreibst einfach den Namen von deiner Liste und dahinter .append(). In die Klammern schreibst du das neue Listenelement, das du anhängen willst (Zeile 2).
Eingabe:
1 zahlen = [3, 4, "fünf"]
2 zahlen.append(1)
3 print(zahlen)
Ausgabe: [3, 4, "fünf", 1]
Falls du mehrere Elemente hinzufügen möchtest, kannst du extend() benutzen. Es funktioniert wie append(), nur dass es gleich eine Liste von neuen Werten an die alte Liste anhängt.
Eingabe:
1 zahlen = [3, 4, "fünf"]
2 zahlen.extend([1, 8])
3 print(zahlen)
Ausgabe: [3, 4, "fünf", 1, 8]
Python insert()
Wenn du in der Mitte deiner Liste ein neues Element einfügen willst, brauchst du insert(). Du schreibst .insert() hinter den Namen deiner Liste und notierst in den Klammern welches neue Element du einfügen willst und welchen Index es haben soll. Das neue Element wird hinzugefügt und deine Liste länger.
Eingabe:
1 obst = ["Apfel", "Banane", "Erdbeere"]
2 obst.insert(1, "Pfirsich")
3 print(obst)
Ausgabe: ["Apfel", "Pfirsich", "Banane", "Erdbeere"]
Python list remove()
Falls du allerdings ein Element aus deiner Liste entfernen willst, brauchst du die Funktion remove(). Wie bei den anderen Funktionen schreibst du hinter deinen Listennamen .remove(). In die Klammern kommt das Element, das du aus der Liste entfernen möchtest.
Achtung: Wenn du das selbe Element mehrmals in deiner Liste hast, wird nur das erste von ihnen entfernt.
Eingabe:
1 farben = ["grün", "blau", "rot", "blau"]
2 farben.remove("blau")
3 print(farben)
Ausgabe:["grün", "rot", "blau"]
Python list del
Es gibt noch einen zweiten Weg ein Element aus deiner Liste zu entfernen: den Befehl del. Du schreibst hinter das Schlüsselwort del einfach den Namen deiner Liste und in eckigen Klammern den Index, den du entfernen willst.
Eingabe:
1 farben = ["grün", "blau", "rot", "blau"]
2 del farben[2]
3 print(farben)
Ausgabe:["grün", "blau", "blau"]
Aber aufgepasst! Wenn du die eckigen Klammern vergisst und nur del farben
schreibst, wird die gesamte Liste gelöscht. Du kannst dann nicht mehr darauf zugreifen!
Python list index
Falls du nur den Wert, aber nicht den Index eines Elements kennst, findest du mit der Funktion index() seinen Index heraus. Dafür schreibst du hinter den Namen deiner Liste .index (Zeile 2). Danach kommt das Element, das du suchst, in runden Klammern. So findest du aber nur den Index des ersten passenden Elements mit dem gesuchten Wert. Hier hat das letzte Element zum Beispiel auch den Wert „blau“, aber es wurde nur der Index 1 gefunden.
Eingabe:
1 farben = ["grün", "blau", "rot", "blau"]
2 i = farben.index("blau")
3 print(f"Index = {i}")
Ausgabe: Index = 1
Wenn du noch andere Erwähnungen in deiner Liste finden willst, kannst du einstellen, welche Indices durchsucht werden. Schreibst du in die runden Klammern noch eine ganze Zahl (Zeile 4), wird die Liste erst ab dem jeweiligen Element durchsucht. Hier startet die Suche mit dem dritten Element. Nicht vergessen: Python fängt bei 0 an zu zählen. Der Index 2 gehört deshalb zum dritten Element. Gibst du noch eine zweite Zahl an (Zeile 5), hört Python bei diesem Element auf, die Liste zu durchsuchen.
Aufgepasst! Wenn index() kein passendes Element in deiner Liste findet, gibt Python einen Fehler aus (engl. raise exception).
4 farben.index("blau", 2)
5 farben.index("blau", 1, 3)
Python sort()
Du willst deine Liste fein säuberlich geordnet haben? Kein Problem! Dafür gibt es die Funktion sort(). Wenn du die runden Klammern leer lässt (Zeile 2), werden die Zahlen in deiner Liste aufsteigend sortiert. Schreibst du reverse = True
in die Klammern, sortiert Python die Zahlen absteigend (Zeile 4).
Eingabe:
1 liste = [2, 1, 4, 3]
2 liste.sort()
3 print(liste)
4 liste.sort(reverse = True)
5 print(liste)
Ausgabe:
[1, 2, 3, 4]
[4, 3, 2, 1]
Natürlich kannst du auch Text alphabetisch sortieren.
Eingabe:
1 obst = ["Pfirsich", "Apfel", "Erdbeere", "Banane"]
2 obst.sort()
3 print(obst)
Ausgabe: ["Apfel", "Banane", "Erdbeere", "Pfirsich"]
Python pop()
Mit der Funktione pop() kannst du ein Element gleichzeitig aus einer Liste entfernen und lesen. Du schreibst .pop() hinter den Namen deiner Liste und ergänzt in den Klammern den Index des Elements, das du entfernen möchtest.
Du siehst, dass du in Zeile 2 eine neue Variable definierst. obst
enthält dann das Element, welches aus der Liste obstkorb
entfernt wurde.
Eingabe:
1 obstkorb = ["Pfirsich", "Apfel", "Banane", "Erdbeere"]
2 obst = obstkorb.pop(2)
3 print(obstkorb)
4 print(obst)
Ausgabe:
["Pfirsich", "Apfel", "Erdbeere"]
Banane
Das dritte Element („Banane“) fehlt also in Deiner Liste (obstkorb
). Du kannst aber immer noch auf seinen Wert zugreifen, weil du es in einer neuen Variable (obst
) gespeichert hast.
Python List Comprehension
Wenn du allerdings alle Elemente deiner Liste verändern möchtest, kann es sehr umständlich sein, sich um jedes Element einzeln zu kümmern. In so einem Fall lohnt es sich, eine List Comprehension zu benutzen. Das ist eine Methode, um aus einer Liste eine neue, veränderte Liste zu erstellen.
Wenn du zum Beispiel alle Zahlen in einer Liste quadrieren möchtest, kannst du das mit einer List Comprehension tun. Dafür brauchst du zuerst eine Liste (Zeile 1). Die List Comprehension steht, wie eine Python Liste auch, in eckigen Klammern (Zeile 2):
- Zuerst notierst du, was du mit jedem Element der Liste machen möchtest. Hier quadrieren wir sie (
zahl**2
). - Danach kommt das Schlüsselwort for und ein neuer Variablenname (
for zahl
). Wie du die Variable nennst, ist egal. Wichtig ist aber, dass du den gleichen Namen im ersten Teil der List Comprehension benutzt hast (zahl**2
). Mit diesem Namen kannst du nämlich auf die Elemente deiner alten Liste zugreifen. - Zuletzt schreibst du hinter das Schlüsselwort in die ursprüngliche Liste, die du verändern willst (
in zahlenliste
).
Eingabe:
1 zahlenliste = [2, 1, 5, 2, 10]
2 quadrate = [ zahl**2 for zahl in zahlenliste ]
3 print(quadrate)
Ausgabe: [4, 1, 25, 4, 100]
Python for-Loop
Falls du einmal etwas Komplizierteres als quadrieren willst, kannst du anstelle einer List Comprehension einen for-Loop benutzen. Damit kannst du Teile deines Programms wiederholen. Wie das geht, zeigen wir dir in unserem Video zum Python for-Loop . Bis gleich!