1. Was ist ein assoziatives Array (Dictionary) in Python?
Das ‘assoziative Array’ in Python ist eine Datenstruktur, die Daten mit Schlüss el-Wert-Paaren verwaltet.
Allgemein als ‘assoziatives Array’ bezeichnetes wird in Python als dict
-Typ bereitgestellt.
Zum Beispiel kann man Namen als Schlüssel verwenden, um Alter und Beruf als Werte zu speichern, was die Datensuche und -verwaltung effizient macht.
Der ‘Schlüssel’ hier ist ein eindeutiger Identifikator zur Spezifizierung der Daten, und jeder Schlüssel muss eindeutig sein.
Unterschiede zwischen dem Dictionary-Typ und anderen Datenstrukturen
Das besondere Merkmal des Dictionary-Typs liegt in der schnellen Suche mit Schlüsseln.
Im Vergleich zu sequentiellen Typen wie Listen oder Tupeln in Python, wo man Elemente sequentiell durchsuchen muss, ermöglicht der direkte Zugriff auf Schlüssel eine erheblich verbesserte Suchgeschwindigkeit.
Besonders bei der Handhabung großer Datenmengen oder in Szenarien mit häufigen Suchen ist der Dictionary-Typ sehr nützlich.
# Beispiel für Dictionary-Typ
person = {
"Name": "Tanaka",
"Alter": 30,
"Beruf": "Ingenieur"
}
print(person["Name"]) # Ausgabe: Tanaka
2. Erstellen von Dictionaries in Python
Python ermöglicht es, Dictionaries auf verschiedene Weisen zu erstellen.
Mit der Literal-Notation, der dict()
-Funktion, der zip()
-Funktion usw. kann man je nach Situation die passende Methode wählen.
Erstellungsweise mit Literalen
Die Literal-Notation ist die Methode, mit geschweiften Klammern {}
Dictionaries zu erstellen, und ist die gängigste sowie einfachste.
Mit Literalen können Schlüssel und Werte in einer Zeile definiert werden, was die intuitive Erstellung von Dictionaries ermöglicht.
# Literale Notation
fruit_prices = {
"Apfel": 100,
"Banane": 150,
"Orange": 200
}
dict()
-Funktion zur Erstellung
Die dict()
-Funktion ist nützlich, um Dictionaries aus Listen von Tupeln usw. zu generieren.
Diese Methode ist besonders praktisch, wenn die Daten dynamisch ändern.
# dict-Funktion
fruit_prices = dict([("Apfel", 100), ("Banane", 150), ("Orange", 200)])
Erstellungsweise mit der zip()
-Funktion
Um Dictionaries aus verschiedenen Listen für Schlüssel und Werte zu erstellen, kann die zip()
-Funktion genutzt werden, um es knapp zu realisieren.
Damit kann effizient ein Dictionary aus den entsprechenden Listen generiert werden.
# zip-Funktion
keys = ["Apfel", "Banane", "Orange"]
values = [100, 150, 200]
fruit_prices = dict(zip(keys, values))

3. Grundlegende Dictionary-Operationen
Das Dictionary in Python ist eine veränderbare Datenstruktur, die das flexible Hinzufügen, Aktualisieren und Löschen von Daten ermöglicht.
Zusätzlich zeichnet es sich im Vergleich zu anderen Datenstrukturen durch eine hohe Suchgeschwindigkeit aus.
Hinzufügen und Aktualisieren von Elementen
Um Elemente zu einem Dictionary hinzuzufügen oder zu aktualisieren, reicht es aus, den Schlüssel anzugeben und den Wert zuzuweisen.
Bei Zuweisung eines Werts zu einem bestehenden Schlüssel wird er aktualisiert, bei Angabe eines neuen Schlüssels wird ein neues Element hinzugefügt.
fruit_prices = {"Apfel": 100, "Banane": 150}
# Hinzufügen eines neuen Elements
fruit_prices["Orange"] = 200
# Aktualisieren eines bestehenden Elements
fruit_prices["Apfel"] = 120
Löschen von Elementen
Um ein Element mit einem bestimmten Schlüssel zu löschen, kann die del
-Anweisung oder die pop()
-Methode verwendet werden. Die pop()
-Methode gibt den gelöschten Wert zurück, was nützlich ist, wenn man die gelöschten Daten behalten möchte.
# Löschen mit der del-Anweisung
del fruit_prices["Banane"]
# Löschen mit der pop-Methode (der gelöschte Wert kann abgerufen werden)
removed_price = fruit_prices.pop("Orange")
4. Erweiterte Operationen
Als fortgeschrittene Verwendung von Wörterbüchern umfassen das Zusammenführen mit anderen Wörterbüchern und die Häufigkeitszählung.
Dadurch werden noch fortgeschrittene Datenvorgänge möglich.
Zusammenführen von Wörterbüchern
Beim Zusammenführen mehrerer Wörterbücher in eines ist dieupdate()
-Methode hilfreich.
Bei doppelten Schlüsseln werden diese überschrieben, sodass das Mergen und Aktualisieren der Daten in einem Schritt erfolgen kann.
dict1 = {"Apfel": 100, "Banane": 150}
dict2 = {"Banane": 200, "Traube": 300}
dict1.update(dict2)
# Ausgabe: {'Apfel': 100, 'Banane': 200, 'Traube': 300}
Anwendung auf Häufigkeitszählung
Die Häufigkeitszählung ist bequem, z. B. beim Zählen der Vorkommen von Zeichen in einer Zeichenkette.
Mit dem Dictionary-Typ können Datenaggregation und -analyse effizient durchgeführt werden.
text = "apple"
frequency = {}
for char in text:
if char in frequency:
frequency[char] += 1
else:
frequency[char] = 1
# Ausgabe: {'a': 1, 'p': 2, 'l': 1, 'e': 1}

5. Schleifenverarbeitung für Dictionaries
Um alle Elemente eines Dictionaries auf einmal zu verarbeiten, eignet sich eine Schleifenverarbeitung.
Dadurch können Schlüssel oder Werte einzeln manipuliert oder eine Liste der Daten abgerufen werden.
Schlüssel und Werte mit Schleifen abrufen
Als Methode, um Schlüssel, Werte oder deren Kombinationen in einem Dictionary zu verarbeiten, werden die Methoden keys()
,values()
,items()
verwendet.
fruit_prices = {"Apfel": 100, "Banane": 150, "Orange": 200}
# Nur Schlüssel
for key in fruit_prices.keys():
print(key)
# Nur Werte
for value in fruit_prices.values():
print(value)
# Schlüssel- und Wertpaare
for key, value in fruit_prices.items():
print(f"Der Preis von {key} beträgt {value} Yen")
6. Zusammenfassung der Python-Dictionaries
Dictionaries in Python (assoziative Arrays) verwalten Daten durch Schlüssel-Wert-Paare, wodurch die Effizienz bei der Suche und Bearbeitung erheblich gesteigert wird.
Im Vergleich zu Listen oder Tupeln ist die Suche schneller, weshalb es vorteilhaft ist, große Datenmengen zu handhaben.
Darüber hinaus eignet es sich für die Zusammenfassung und Analyse von Daten sowie für die Kombination mit anderen Datenstrukturen und ist ein unverzichtbarer Bestandteil der grundlegenden Datenoperationen in Python.
Durch die Gewöhnung an die Operationen mit dem Dictionary-Typ können fortgeschrittene Datenverarbeitungen realisiert werden.