Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Unpacking av ordböcker med ** | Packning och uppackning i Python
Funktionella Programmeringskoncept i Python

bookUnpacking av ordböcker med **

Svep för att visa menyn

Vid arbete med ordböcker i Python erbjuder **-operatorn ett kortfattat och kraftfullt sätt att packa upp deras innehåll. Uppackning med ** gör det möjligt att skicka ordboksobjekt som namngivna argument till funktioner eller att slå samman flera ordböcker. Denna teknik är särskilt användbar när du vill skriva flexibel och återanvändbar kod som kan hantera varierande uppsättningar av namngivna parametrar.

**-operatorn tar en ordbok och expanderar dess nyckel-värde-par till separata nyckelordsargument. Detta används ofta vid anrop av funktioner som accepterar nyckelordsargument, vilket gör att du kan skicka en ordbok direkt istället för att ange varje argument manuellt. En annan praktisk användning är att slå samman två eller flera ordböcker till en ny, där alla nyckel-värde-par kombineras i en enda ordbok.

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

Denna kod visar uppackning av ordböcker med hjälp av **-operatorn. När du placerar ** före en ordbok i ett funktionsanrop "packar" Python upp nyckel-värde-paren och skickar dem som individuella nyckelordsargument. I detta exempel är print_person(**person_info) funktionellt identiskt med att skriva print_person(name="Alice", age=28). För att detta ska fungera korrekt måste ordbokens nycklar exakt matcha parameternamnen som definierats i funktionssignaturen.

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

Här visas sammanslagning av ordböcker. Genom att placera ** i en ny ordboksliteral expanderar Python nyckel-värde-paren från både defaults och overrides till ett enda objekt.

När nycklar överlappar – som "size" i detta exempel – får ordboken som kommer senare i sekvensen företräde. Här ersätter värdet "large" från overrides "medium" från defaults, vilket resulterar i en sammanslagen ordbok som kombinerar alla unika nycklar och prioriterar de senaste värdena.

1. Vad blir resultatet av att använda ** på en ordbok i ett funktionsanrop?

2. Vilken metod kombinerar två dictionarys med hjälp av unpacking i Python?

question mark

Vad blir resultatet av att använda ** på en ordbok i ett funktionsanrop?

Vänligen välj det korrekta svaret

question mark

Vilken metod kombinerar två dictionarys med hjälp av unpacking i Python?

Vänligen välj det korrekta svaret

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 3

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 1. Kapitel 3
some-alt