EMZETT.
Login

Kurz: Listen haben viele praktische Methoden. Die meisten verändern die Liste direkt und geben None zurück. Das ist ein häufiger Stolperstein: liste = liste.sort() setzt die Liste auf None!

Teil des Kurses Python

Kapitel 15 von 44 im Kurs Python. Mit Fortschritt, Quiz und Zertifikat auf der Lernseite.

Listen haben viele praktische Methoden. Die meisten verändern die Liste direkt und geben None zurück. Das ist ein häufiger Stolperstein: liste = liste.sort() setzt die Liste auf None!

Die wichtigsten Methoden

MethodeWirkung
append(x)hängt x hinten an
extend(andere)hängt alle Elemente von andere an
insert(i, x)fügt x an Position i ein
remove(x)entfernt das erste x
pop(i)entfernt und liefert Element i (Standard: letztes)
clear()leert die Liste
index(x)Position des ersten x
count(x)wie oft x vorkommt
sort()sortiert die Liste
reverse()kehrt die Reihenfolge um
copy()flache Kopie
l = [5, 2, 9, 2]
l.extend([7, 1])
print(l)
print(l.count(2), l.index(9))
l.reverse()
print(l)
l.clear()
print(l)

Ausgabe:

[5, 2, 9, 2, 7, 1]
2 2
[1, 7, 2, 9, 2, 5]
[]

Sortieren

sort() sortiert die Liste an Ort und Stelle, sorted() liefert eine neue sortierte Liste und lässt das Original unverändert:

zahlen = [5, 2, 9, 1]
print(sorted(zahlen))
print(zahlen)            # unverändert
zahlen.sort(reverse=True)
print(zahlen)

Ausgabe:

[1, 2, 5, 9]
[5, 2, 9, 1]
[9, 5, 2, 1]

Mit dem Parameter key bestimmst du, wonach sortiert wird:

woerter = ["Banane", "Kiwi", "Apfel", "Zitrone"]
print(sorted(woerter))
print(sorted(woerter, key=len))
print(sorted(woerter, key=str.lower, reverse=True))
 
personen = [("Mia", 25), ("Tom", 19), ("Lea", 31)]
print(sorted(personen, key=lambda p: p[1]))

Ausgabe:

['Apfel', 'Banane', 'Kiwi', 'Zitrone']
['Kiwi', 'Apfel', 'Banane', 'Zitrone']
['Zitrone', 'Kiwi', 'Banane', 'Apfel']
[('Tom', 19), ('Mia', 25), ('Lea', 31)]

Hinweis

Texte werden nach Zeichencodes sortiert: Großbuchstaben kommen vor Kleinbuchstaben. Mit key=str.lower sortierst du ohne Beachtung der Groß-/Kleinschreibung. Das Sortieren ist stabil: Elemente mit gleichem Schlüssel behalten ihre Reihenfolge.

Listen entpacken

erste, zweite, *rest = [1, 2, 3, 4, 5]
print(erste, zweite, rest)
 
*anfang, letztes = "abc"
print(anfang, letztes)

Ausgabe:

1 2 [3, 4, 5]
['a', 'b'] c

Hilfreiche eingebaute Funktionen für Listen

werte = [3, 8, 1]
print(list(reversed(werte)))
print(any(w > 5 for w in werte))
print(all(w > 0 for w in werte))
print(list(map(str, werte)))
print(list(filter(lambda w: w > 2, werte)))

Ausgabe:

[1, 8, 3]
True
True
['3', '8', '1']
[3, 8]

Merke

  • append, extend, insert, remove, pop, clear verändern die Liste direkt
  • sort() verändert und liefert None; sorted() liefert eine neue Liste
  • key= bestimmt das Sortierkriterium, reverse=True kehrt um
  • Entpacken: a, b, *rest = liste
  • any() und all() prüfen Bedingungen über eine ganze Liste

Übungsaufgabe

Sortiere die Namen ["Zoe", "adam", "Bea", "chris"] unabhängig von der Groß-/Kleinschreibung und gib sie aus.

Quiz zur Selbstkontrolle

) bei [1, 2, 3]?

  • Die Liste wird zu [1, 2, 3, 4, 5] (richtig)
  • Die Liste wird zu [1, 2, 3, [4, 5]]
  • Es wird eine neue Liste zurückgegeben
  • Es gibt einen Fehler

Weiter im Kurs

Zurück: Listen

Weiter: List Comprehensions

Alle Kapitel: Python im Überblick