Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Entpacken von Dictionaries mit ** | Packing and Unpacking in Python
Funktionale Programmierkonzepte in Python

bookEntpacken von Dictionaries mit **

Swipe um das Menü anzuzeigen

Beim Arbeiten mit Dictionaries in Python bietet der Operator ** eine prägnante und leistungsstarke Möglichkeit, deren Inhalte zu entpacken. Entpacken mit ** ermöglicht das Übergeben von Dictionary-Einträgen als benannte Argumente an Funktionen oder das Zusammenführen mehrerer Dictionaries. Diese Technik ist besonders nützlich, wenn flexibler und wiederverwendbarer Code benötigt wird, der mit unterschiedlichen Mengen benannter Parameter umgehen kann.

Der Operator ** nimmt ein Dictionary und erweitert dessen Schlüssel-Wert-Paare zu einzelnen Schlüsselwortargumenten. Dies wird häufig beim Aufruf von Funktionen verwendet, die Schlüsselwortargumente akzeptieren, sodass ein Dictionary direkt übergeben werden kann, anstatt jedes Argument einzeln anzugeben. Ein weiterer praktischer Anwendungsfall ist das Zusammenführen von zwei oder mehr Dictionaries zu einem neuen, wobei alle Schlüssel-Wert-Paare in einem einzigen Dictionary kombiniert werden.

12345
def print_person(name, age): print(f"Name: {name}, Age: {age}") person_info = {"name": "Alice", "age": 28} print_person(**person_info)
copy

Dieser Code demonstriert das Entpacken von Dictionaries mit dem Operator **. Wenn ** vor einem Dictionary in einem Funktionsaufruf steht, "entpackt" Python die Schlüssel-Wert-Paare und übergibt sie als einzelne Schlüsselwortargumente. In diesem Beispiel ist print_person(**person_info) funktional identisch mit print_person(name="Alice", age=28). Damit dies korrekt funktioniert, müssen die Dictionary-Schlüssel exakt mit den in der Funktionssignatur definierten Parameternamen übereinstimmen.

12345
defaults = {"color": "blue", "size": "medium"} overrides = {"size": "large", "style": "bold"} merged = {**defaults, **overrides} print(merged)
copy

Hier ist das Zusammenführen von Dictionaries zu sehen. Durch das Platzieren von ** in einem neuen Dictionary-Literal erweitert Python die Schlüssel-Wert-Paare sowohl von defaults als auch von overrides zu einem einzigen Objekt.

Wenn sich Schlüssel überschneiden – wie "size" in diesem Beispiel – hat das Dictionary, das später in der Reihenfolge erscheint, Vorrang. Hier überschreibt der Wert "large" aus overrides den Wert "medium" aus defaults, was zu einem zusammengeführten Dictionary führt, das alle eindeutigen Schlüssel kombiniert und die neuesten Werte priorisiert.

1. Was ist das Ergebnis der Verwendung von ** bei einem Dictionary in einem Funktionsaufruf?

2. Mit welcher Methode werden zwei Dictionaries in Python durch Unpacking kombiniert?

question mark

Was ist das Ergebnis der Verwendung von ** bei einem Dictionary in einem Funktionsaufruf?

Wählen Sie die richtige Antwort aus

question mark

Mit welcher Methode werden zwei Dictionaries in Python durch Unpacking kombiniert?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 3

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 1. Kapitel 3
some-alt