Python - Wörterbücher

Hallo, aufstrebende Programmierer! Heute tauchen wir in die faszinierende Welt der Python-Wörterbücher ein. Als euer freundlicher Nachbar Informatiklehrer freue ich mich, euch auf dieser Reise zu führen. Also, holt euch euer Lieblingsgetränk, macht euch bequem und lass uns gemeinsam auf diese Abenteuer starten!

Python - Dictionaries

Wörterbücher in Python

Stellt euch vor, ihr erstellt eine digitale Adressenliste. Ihr wollt Informationen über eure Freunde speichern, wie z.B. ihre Namen, Telefonnummern und E-Mail-Adressen. Wie würdet ihr das tun? Hier kommen die Python-Wörterbücher ins Spiel!

Ein Wörterbuch in Python ähnelt einem realen Wörterbuch, aber anstatt Wortdefinitionen speichert es Schlüssel-Wert-Paare. Es ist eine Sammlung, die unsortiert, veränderlich und keine Duplikate zulässt.

Schlüsselmerkmale von Wörterbüchern

  1. Schlüssel-Wert-Paare: Jeder Eintrag in einem Wörterbuch besteht aus einem Schlüssel und seinem zugehörigen Wert.
  2. Unsortiert: Im Gegensatz zu Listen haben Wörterbücher keine spezifische Reihenfolge.
  3. Veränderlich: Ihr könnt Einträge hinzufügen, entfernen oder ändern, nachdem das Wörterbuch erstellt wurde.
  4. Keine Duplikate: Jeder Schlüssel muss innerhalb eines Wörterbuchs einzigartig sein.

Erstellung eines Wörterbuchs

Erstellen wir jetzt unser erstes Wörterbuch:

mein_freund = {
"name": "Alice",
"alter": 25,
"stadt": "New York"
}

In diesem Beispiel haben wir ein Wörterbuch namens mein_freund erstellt. Die Schlüssel sind "name", "alter" und "stadt", und ihre zugehörigen Werte sind "Alice", 25 und "New York".

Ihr könnt auch ein leeres Wörterbuch erstellen und später Einträge hinzufügen:

leeres_worterbuch = {}
weiteres_worterbuch = dict()  # Verwendung des dict() Konstruktors

Zugriff auf Wörterbuchelemente

Um auf Elemente in einem Wörterbuch zuzugreifen, verwendet ihr die Schlüsselnamen in eckigen Klammern:

print(mein_freund["name"])  # Ausgabe: Alice

Ihr könnt auch die get() Methode verwenden, die sicherer ist, weil sie None zurückgibt, wenn der Schlüssel nicht existiert (statt einen Fehler zu werfen):

print(mein_freund.get("alter"))  # Ausgabe: 25
print(mein_freund.get("beruf"))  # Ausgabe: None

Ändern von Wörterbucheinträgen

Wörterbücher sind veränderlich, das bedeutet, wir können ihren Inhalt nach der Erstellung ändern:

# Ändern eines Wertes
mein_freund["alter"] = 26

# Hinzufügen eines neuen Schlüssel-Wert-Paars
mein_freund["beruf"] = "Ingenieur"

print(mein_freund)
# Ausgabe: {'name': 'Alice', 'alter': 26, 'stadt': 'New York', 'beruf': 'Ingenieur'}

Entfernen von Wörterbucheinträgen

Es gibt mehrere Möglichkeiten, Einträge aus einem Wörterbuch zu entfernen:

# Entfernen eines spezifischen Elements
del mein_freund["alter"]

# Entfernen und zurückgeben eines Elements
beruf = mein_freund.pop("beruf")

# Entfernen des zuletzt eingefügten Elements
letztes_element = mein_freund.popitem()

print(mein_freund)  # Ausgabe: {'name': 'Alice'}

Iteration durch ein Wörterbuch

Ihr könnt durch ein Wörterbuch auf mehrere Weisen loopen:

# Iteration durch Schlüssel
for schluessel in mein_freund:
print(schluessel)

# Iteration durch Werte
for wert in mein_freund.values():
print(wert)

# Iteration durch sowohl Schlüssel als auch Werte
for schluessel, wert in mein_freund.items():
print(f"{schluessel}: {wert}")

Eigenschaften von Wörterbuchschlüsseln

Wörterbuchschlüssel haben einige wichtige Eigenschaften:

  1. Schlüssel müssen unveränderlich sein (wie Zeichenketten, Zahlen oder Tupel).
  2. Schlüssel müssen innerhalb eines Wörterbuchs einzigartig sein.

Zum Beispiel:

gueltiges_worterbuch = {
"zeichenkette_schluessel": "wert1",
42: "wert2",
(1, 2): "wert3"
}

# Dies würde einen Fehler erzeugen:
# ungültiges_worterbuch = {[1, 2]: "wert"}  # Listen können keine Schlüssel sein

Python Wörterbuchoperatoren

Python bietet einige nützliche Operatoren für Wörterbücher:

# Zusammenführen von Wörterbüchern (Python 3.5+)
worterbuch1 = {"a": 1, "b": 2}
worterbuch2 = {"c": 3, "d": 4}
zusammengefuehrt = {**worterbuch1, **worterbuch2}
print(zusammengefuehrt)  # Ausgabe: {'a': 1, 'b': 2, 'c': 3, 'd': 4}

# Überprüfen, ob ein Schlüssel existiert
if "name" in mein_freund:
print("Name ist im Wörterbuch")

Python Wörterbuchmethoden

Hier ist eine Tabelle der häufig verwendeten Wörterbuchmethoden:

Methode Beschreibung
clear() Entfernt alle Einträge aus dem Wörterbuch
copy() Gibt eine flache Kopie des Wörterbuchs zurück
fromkeys() Erstellt ein neues Wörterbuch mit angegebenen Schlüsseln und Wert
get() Gibt den Wert des angegebenen Schlüssels zurück
items() Gibt eine Liste der (Schlüssel, Wert) Tupel des Wörterbuchs zurück
keys() Gibt eine Liste der Wörterbuchschlüssel zurück
pop() Entfernt und gibt das Element mit dem gegebenen Schlüssel zurück
popitem() Entfernt und gibt das zuletzt eingefügte Schlüssel-Wert-Paar zurück
setdefault() Gibt den Wert des angegebenen Schlüssels zurück. Wenn der Schlüssel nicht existiert: Fügt den Schlüssel mit dem angegebenen Wert ein
update() Aktualisiert das Wörterbuch mit den angegebenen Schlüssel-Wert-Paaren
values() Gibt eine Liste aller Werte im Wörterbuch zurück

Eingebaute Funktionen mit Wörterbüchern

Python bietet mehrere eingebaute Funktionen, die gut mit Wörterbüchern arbeiten:

# Länge eines Wörterbuchs
print(len(mein_freund))

# Typ eines Wörterbuchs
print(type(mein_freund))

# Konvertieren anderer Datentypen in ein Wörterbuch
liste_von_tupeln = [("a", 1), ("b", 2)]
worterbuch_aus_liste = dict(liste_von_tupeln)
print(worterbuch_aus_liste)  # Ausgabe: {'a': 1, 'b': 2}

Und da haben wir es, Freunde! Wir haben die Welt der Python-Wörterbücher durchquert, von der Erstellung bis zur Manipulation, von der Iteration bis zu den eingebauten Funktionen. Denkt daran, Übung macht den Meister, also seid nicht ängstlich, diese Konzepte in eurem eigenen Code auszuprobieren.

Wenn wir jetzt zusammenfassen, lass mich ein kleines Programmierwitze teilen: Warum bevorzugen Python-Programmierer die Verwendung von Wörterbüchern? Weil sie immer wissen, wo ihre Schlüssel sind! ?

Weiterhin coden, neugierig bleiben und denken daran: In der Welt der Programmierung ist jeder Fehler nur eine neue Lerngelegenheit. Bis zum nächsten Mal, happy coding!

Credits: Image by storyset