Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Opppakking av ordbøker med ** | Pakking og Utpakking i Python
Funksjonelle Programmeringskonsepter i Python

bookOpppakking av ordbøker med **

Sveip for å vise menyen

Når du arbeider med ordbøker i Python, gir **-operatoren en kortfattet og kraftig måte å pakke ut innholdet på. Oppakking med ** gjør det mulig å sende ordbokelementer som navngitte argumenter til funksjoner eller å slå sammen flere ordbøker. Denne teknikken er spesielt nyttig når du ønsker å skrive fleksibel og gjenbrukbar kode som kan håndtere varierende sett med navngitte parametere.

**-operatoren tar en ordbok og utvider dens nøkkel-verdi-par til separate nøkkelordargumenter. Dette brukes ofte når man kaller funksjoner som aksepterer nøkkelordargumenter, slik at du kan sende en ordbok direkte i stedet for å spesifisere hvert argument manuelt. En annen praktisk bruk er å slå sammen to eller flere ordbøker til en ny, der alle nøkkel-verdi-par kombineres i én ordbok.

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

Denne koden demonstrerer oppakking av ordbøker ved bruk av **-operatoren. Når du plasserer ** foran en ordbok i et funksjonskall, "pakker" Python ut nøkkel-verdi-parene og sender dem som individuelle nøkkelordargumenter. I dette eksemplet er print_person(**person_info) funksjonelt identisk med å skrive print_person(name="Alice", age=28). For at dette skal fungere riktig, må ordbokens nøkler nøyaktig samsvare med parameternavnene som er definert i funksjonssignaturen.

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

Her ser du sammenslåing av ordbøker. Ved å plassere ** inne i et nytt ordbok-litteral, utvider Python nøkkel-verdi-parene fra både defaults og overrides til ett enkelt objekt.

Når nøkler overlapper – som "size" i dette eksempelet – vil ordboken som kommer sist i rekkefølgen ha forrang. Her overskriver verdien "large" fra overrides "medium" fra defaults, noe som resulterer i en sammenslått ordbok som kombinerer alle unike nøkler og prioriterer de nyeste verdiene.

1. Hva er resultatet av å bruke ** på en ordbok i et funksjonskall?

2. Hvilken metode kombinerer to ordbøker ved bruk av oppakking i Python?

question mark

Hva er resultatet av å bruke ** på en ordbok i et funksjonskall?

Velg det helt riktige svaret

question mark

Hvilken metode kombinerer to ordbøker ved bruk av oppakking i Python?

Velg det helt riktige svaret

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 3

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 1. Kapittel 3
some-alt