In diesem Tutorial werden wir uns eingehend mit den Methoden von Python-Listen beschäftigen. Wir werden untersuchen, wie man Elemente zu einer Liste hinzufügt, vorhandene Elemente verändert und sie bei Bedarf entfernt.
Wenn du neu in der Welt des Python-Programmierens bist, wirst du schnell feststellen, dass Listen zu den grundlegenden Datenstrukturen gehören, die du kennenlernen wirst. Wir werden uns kurz mit den Grundlagen von Python-Listen befassen und dann eine Reihe nützlicher Listenmethoden untersuchen, die deine Arbeit mit Listen vereinfachen.
Los geht’s!
Ein genauerer Blick auf Python-Listen
Eine Liste in Python ist im Grunde eine Sammlung von Elementen. Diese Elemente können vom gleichen Datentyp sein oder unterschiedliche Datentypen mischen. Das Besondere an Listen ist, dass du sie mithilfe von Schleifen, wie z.B. der for-Schleife, durchlaufen und auf jedes einzelne Element zugreifen kannst.
Wie alle iterierbaren Objekte in Python beginnen Listen mit dem Index Null. Das bedeutet, das erste Element hat den Index 0, das zweite den Index 1 usw. Sie unterstützen auch sogenannte Slicing-Operationen, mit denen du auf Teile der Liste zugreifen kannst.
Listen sind veränderbar, was bedeutet, dass du sie direkt bearbeiten kannst. Du kannst Elemente hinzufügen oder entfernen, die Reihenfolge der Elemente ändern, sie sortieren und vieles mehr. Die eingebauten Listenmethoden in Python erleichtern all diese Operationen ungemein.
Schauen wir uns nun einige dieser praktischen Methoden genauer an.
Integrierte Listenmethoden in Python
In diesem Abschnitt werden wir eine Auswahl an Listenmethoden kennenlernen, die sich in der Praxis als sehr hilfreich erweisen. Wir werden diese Methoden anhand von Codebeispielen demonstrieren.
Wir verwenden hierzu die Liste `pgm_langs`. Diese Liste enthält die Namen einiger bekannter Programmiersprachen als Strings.
pgm_langs = ('Python','Go','Rust','JavaScript')
Elemente mit `insert()` einfügen
Manchmal möchtest du ein Element an einer ganz bestimmten Position in deiner Liste einfügen. Hier kommt die `insert()`-Methode ins Spiel. Sie benötigt zwei Argumente:
- Den Index, an dem das neue Element eingefügt werden soll.
- Das Element, das eingefügt werden soll.
Lass uns die Sprache ‚Scala‘ an der Position 1 einfügen.
pgm_langs = ['Python','Go','Rust','JavaScript'] pgm_langs.insert(1,'Scala') print(pgm_langs) # Ausgabe: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript']
Elemente mit `append()` hinzufügen
Oftmals möchtest du ein Element einfach nur am Ende einer Liste anhängen. Dafür ist die Methode `append()` ideal.
Lass uns den String „Java“ am Ende der Liste hinzufügen.
pgm_langs.append('Java') print(pgm_langs) # Ausgabe: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript', 'Java']
Mehrere Elemente mit `extend()` hinzufügen
Wir wissen bereits, dass `append()` ein einzelnes Element hinzufügt. Was aber, wenn du eine ganze Liste von Elementen hinzufügen möchtest? Hier kommt die Methode `extend()` ins Spiel, die eine elegante Syntax bietet.
Wir werden die Elemente aus der Liste `more_langs` in die `pgm_langs`-Liste hinzufügen.
more_langs = ['C++','C#','C'] pgm_langs.extend(more_langs) print(pgm_langs) # Ausgabe: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript', 'Java', 'C++', 'C#', 'C']
Du könntest auch eine Schleife verwenden und die `append()`-Methode auf jedes Element der Liste anwenden, aber `extend()` ist deutlich effizienter und einfacher.
for lang in more_langs: pgm_langs.append(lang)
Reihenfolge der Liste mit `reverse()` umkehren
Wenn du die Reihenfolge der Elemente in einer Liste umkehren möchtest, kannst du die `reverse()`-Methode verwenden.
Wir sehen, dass die Liste `pgm_langs` direkt an Ort und Stelle umgekehrt wird.
pgm_langs.reverse() print(pgm_langs) # Ausgabe: ['C', 'C#', 'C++', 'Java', 'JavaScript', 'Rust', 'Go', 'Scala', 'Python']
Liste mit `sort()` sortieren
Du kannst eine Python-Liste mit der Methode `sort()` direkt an Ort und Stelle sortieren. Da unsere `pgm_langs`-Liste aus Strings besteht, wird sie alphabetisch sortiert.
pgm_langs.sort() print(pgm_langs) # Ausgabe: ['C', 'C#', 'C++', 'Go', 'Java', 'JavaScript', 'Python', 'Rust', 'Scala']
Um die Liste in umgekehrter alphabetischer Reihenfolge zu sortieren, kannst du den Parameter `reverse` auf `True` setzen.
pgm_langs.sort(reverse=True) print(pgm_langs) # Ausgabe: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']
Erfahre mehr über das Sortieren von Python-Listen unter .
Flache Kopie mit `copy()` erstellen
Manchmal kann es sinnvoll sein, eine Kopie der Liste zu bearbeiten, ohne die ursprüngliche Liste zu verändern. Die `copy()`-Methode erstellt eine flache Kopie der Liste.
Lass uns eine Kopie der Liste `pgm_langs` erstellen und sie `pgm_langs_copy` nennen. Wir setzen das erste Element der Kopie auf „Haskell“ und geben sie aus.
pgm_langs_copy = pgm_langs.copy() pgm_langs_copy[0]='Haskell'
print(pgm_langs_copy) # Ausgabe: ['Haskell', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']
Wir sehen, dass die ursprüngliche Liste `pgm_langs` unverändert bleibt. Das zeigt uns, dass die Modifikation der Kopie die Original-Liste nicht beeinflusst.
print(pgm_langs) # Ausgabe: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']
Anzahl eines Elements mit `count()` ermitteln
Es ist oft nützlich zu wissen, wie oft ein bestimmtes Element in einer Liste vorkommt. Die `count()`-Methode gibt genau diese Anzahl zurück.
In der Liste `pgm_langs` kommt jedes Element nur einmal vor. Wenn wir also die Anzahl von ‚Go‘ ermitteln, erhalten wir 1, was korrekt ist.
print(pgm_langs.count('Go')) # Ausgabe: 1
Die `count()`-Methode kann auch nützlich sein, um doppelte Einträge in einer Liste zu entfernen.
Index eines Elements mit `index()` finden
Um den Index eines bestimmten Elements in der Liste zu ermitteln, verwenden wir die Methode `index()`. Nehmen wir an, wir wollen den Index von „C#“ in der `pgm_langs`-Liste finden. Wir können mit einer `assert`-Aussage überprüfen, ob das Element an der Position 7 tatsächlich „C#“ ist.
print(pgm_langs.index('C#')) # Ausgabe: 7 assert pgm_langs[7] == 'C#'
Element an bestimmter Position mit `pop()` entfernen
Betrachten wir nun, wie wir Elemente aus Python-Listen entfernen können. Die `pop()`-Methode wird verwendet, um ein Element an einem bestimmten Index zu entfernen und dieses Element als Ergebnis zurückzugeben. Aus dem vorherigen Beispiel wissen wir, dass „C#“ an Position 7 steht.
Wenn wir `pop(7)` aufrufen, gibt es „C#“ zurück und entfernt es gleichzeitig aus der Liste.
print(pgm_langs.pop(7)) # Ausgabe: 'C#' print(pgm_langs) # Ausgabe: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C']
Die Angabe des Index ist jedoch optional. Wenn du den Index nicht angibst, wird das letzte Element entfernt und zurückgegeben:
print(pgm_langs.pop()) # Ausgabe: 'C' print(pgm_langs) # Ausgabe: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++']
Elemente mit `remove()` entfernen
In manchen Fällen kennst du vielleicht das Element, das du entfernen möchtest, aber nicht seine Position. Dann ist die `remove()`-Methode hilfreich. Sie nimmt das zu entfernende Element als Argument.
Lass uns „Java“ aus der Liste `pgm_langs` entfernen.
pgm_langs.remove('Java') print(pgm_langs) # Ausgabe: ['Scala', 'Rust', 'Python', 'JavaScript', 'Go', 'C++']
Alle Elemente mit `clear()` entfernen
Was aber, wenn du alle Elemente aus einer Liste entfernen möchtest? Du könntest die Liste durchlaufen und mit `remove()` jedes Element einzeln entfernen:
for lang in pgm_langs: pgm_langs.remove(lang)
Aber es gibt einen einfacheren Weg: Die `clear()`-Methode. Sie entfernt alle Elemente aus der Liste. `pgm_langs` ist nun leer.
pgm_langs.clear() print(pgm_langs) # Ausgabe: []
Zusammenfassung der Python-Listenmethoden
Hier eine kurze Zusammenfassung der wichtigsten Listenmethoden und deren Syntax:
Listenmethode | Syntax | Beschreibung |
insert() | list1.insert(index, elt) | Fügt das Element `elt` an der Position `index` in `list1` ein. |
append() | list1.append(elt) | Fügt das Element `elt` am Ende von `list1` hinzu. |
extend() | list1.extend(list2) | Fügt die Elemente aus `list2` am Ende von `list1` hinzu. |
sort() | list1.sort() | Sortiert die Liste `list1` an Ort und Stelle. |
reverse() | list1.reverse() | Kehrt die Liste `list1` an Ort und Stelle um. |
copy() | list1.copy() | Gibt eine flache Kopie von `list1` zurück. |
count() | list1.count(elt) | Gibt die Häufigkeit von `elt` in `list1` zurück. |
index() | list1.index(elt) | Gibt den Index des ersten Auftretens von `elt` in `list1` zurück. |
pop() | list1.pop(index) | Entfernt das Element am `index` und gibt es zurück. |
remove() | list1.remove(elt) | Entfernt das erste Auftreten von `elt` aus `list1`. |
clear() | list1.clear() | Entfernt alle Elemente aus `list1`. |
Fazit
Ich hoffe, dieses Tutorial hat dir geholfen, die wichtigsten Listenmethoden in Python zu verstehen. Als Nächstes könntest du dich mit Python-Tupeln und den Unterschieden zwischen Listen und Tupeln befassen.
Wenn du mehr über Python lernen möchtest, findest du hier eine Liste anfängerfreundlicher Lernressourcen: .