Wörterbücher und Wörterbuchmethoden
Wörterbücher sind vermutlich die vielseitigsten Datenstrukturen in Python. Sie speichern Daten als Schlüssel-Wert-Paare und sind unerlässlich in Situationen, in denen Daten schnell abgerufen und häufig geändert werden müssen.
In unserem Supermarkt-Szenario könnten Wörterbücher Lieferanteninformationen effizient verwalten, sodass jeder Lieferant anhand seines Namens oder seiner ID ohne Durchsuchen einer Liste gefunden werden kann.
Sehen Sie, wie Alex demonstriert, wie Wörterbücher für unseren Supermarkt genutzt werden:
Erstellung
Wörterbücher werden erstellt, indem durch Kommas getrennte Schlüssel-Wert-Paare in geschweifte Klammern {}
eingeschlossen werden.
python
Reihenfolge
Wörterbücher bewahren die Einfügereihenfolge ihrer Elemente, wobei zu beachten ist, dass Operationen in der Regel auf Basis der Schlüssel und nicht der Position durchgeführt werden.
Veränderbarkeit (Mutabilität)
Wörterbücher sind veränderbar und ermöglichen das Hinzufügen, Aktualisieren oder Entfernen von Schlüssel-Wert-Paaren, nachdem das Wörterbuch erstellt wurde;
Hinweis
Während Wörterbücher mehrere Werte erlauben, muss jeder Schlüssel innerhalb eines Wörterbuchs eindeutig sein. Wird ein Schlüssel mehrfach zugewiesen, überschreibt der zuletzt zugewiesene Wert den vorherigen, sodass jeder Schlüssel nur einen zugehörigen Wert hat.
Beispiele
Betrachten wir ein einfaches Dictionary. Anstatt Indexnummern zu verwenden, greifst du auf Dictionary-Elemente über ihre Schlüssel zu, die in diesem Fall die Namen der Lebensmittelartikel sind.
# Dictionary creation groceryItems = { "Milk": 3.49, "Eggs": 2.99, "Bread": 1.99, "Apples": 0.99 } # Extracting dictionary elements by their keys print("Price of Milk:", groceryItems["Milk"]) print("Price of Bread:", groceryItems["Bread"])
Dictionaries in Python sind flexibel hinsichtlich der Datentypen, die sie speichern können.
Die einzige Einschränkung ist, dass Schlüssel von einem unveränderlichen (immutable) Typ sein müssen (wie strings
, numbers
oder tuples
, die nur unveränderliche Elemente enthalten). Dies stellt sicher, dass der Schlüssel unverändert bleibt.
Im Gegensatz dazu können Dictionary-Werte beliebigen Typs sein und auch veränderliche (mutable) Typen wie Listen oder andere Dictionaries umfassen.
Zum Beispiel:
# A dictionary with various types of keys and values store_info = { "Store Name": "Grocery Galore", # String key and string value 42: "Inventory Count", # Integer key and string value ("Bread", "Milk"): [2.99, 1.59] # Tuple key and list value (prices of bread and milk) } # Extracting dictionary element (list) by its key (tuple) print("Data under key ('Bread', 'Milk'):", store_info[("Bread", "Milk")])
Dictionary-Methoden
Dictionaries bieten eine Vielzahl von Operationen und Methoden, die eine effiziente Datenverarbeitung ermöglichen. Hier sind einige der am häufigsten verwendeten Methoden:
get()
: Gibt den Wert für einen angegebenen Schlüssel zurück und gibt falls der Schlüssel nicht gefunden wirdNone
zurück. Dies unterscheidet sich von der Verwendung von eckigen Klammern (z. B.grocery_items["Milk"]
), die einen Fehler auslösen würden, wenn der Schlüssel nicht existiert.update()
: Aktualisiert das Dictionary mit Elementen aus einem anderen Dictionary oder einem Iterable von Schlüssel-Wert-Paaren und überschreibt dabei vorhandene Schlüssel.pop()
: Entfernt einen angegebenen Schlüssel und gibt den entsprechenden Wert zurück.
Hinweis
In Python ist
None
ein spezieller Wert, der „nichts“ oder „kein Wert“ bedeutet. Er wird häufig verwendet, um anzuzeigen, dass etwas leer ist oder kein Ergebnis vorliegt.
Anwendungsbeispiel
Stellen Sie sich vor, Sie müssen das Dictionary für den Lagerbestand in Ihrem Lebensmittelgeschäft aktualisieren. So können Sie dies mit Dictionary-Methoden tun:
# Dictionary for a grocery store inventory inventory = { "Apples": 30, "Oranges": 18, "Bananas": 45 } # Get the count of Oranges print("Count of Oranges:", inventory.get("Oranges")) # Update inventory by adding a new item inventory.update({"Mangoes": 20}) print("Updated Inventory:", inventory) # You can also add a new item to the end of the dictionary like this inventory["Pineapples"] = 15 print("Updated Inventory:", inventory) # Remove Bananas from the inventory removed_item = inventory.pop("Bananas") print("Removed Item:", removed_item) print("Current Inventory:", inventory)
Swipe to start coding
Verwaltung des Lagerbestands eines Lebensmittelgeschäfts mithilfe eines Dictionaries, wobei jeder Artikel ein Schlüssel-Wert-Paar mit dem Artikelnamen und den Details (Produkt-ID und Kategorie) ist.
-
Definition eines Dictionaries
grocery_inventory
zur Speicherung der Informationen:- "Milk": (113, "Dairy")
- "Eggs": (116, "Dairy")
- "Bread": (117, "Bakery")
- "Apples": (141, "Produce")
-
Abruf der Details des Artikels
"Bread"
aus dem Dictionary und Speicherung in der Variablenbread_details
. -
Hinzufügen eines neuen Artikels,
"Cookies"
, mit der Produkt-ID143
und der Kategorie"Bakery"
. -
Entfernen des Artikels
"Eggs"
aus dem Dictionary.
Ausgabebedingungen
- Ausgabe der Details von
"Bread"
:Details of Bread: <$bread_details>
. - Nach dem Hinzufügen von
"Cookies"
Ausgabe des aktualisierten Lagerbestands:Inventory after adding Cookies: <$grocery_inventory>
. - Nach dem Entfernen von
"Eggs"
Ausgabe des aktualisierten Lagerbestands:Inventory after removing Eggs: <$grocery_inventory>
.
Lösung
Danke für Ihr Feedback!