Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Decomprimere Dizionari con ** | Packing e Unpacking in Python
Concetti di Programmazione Funzionale in Python

bookDecomprimere Dizionari con **

Scorri per mostrare il menu

Quando si lavora con i dizionari in Python, l'operatore ** offre un modo conciso e potente per decomporre i loro contenuti. Decomposizione con ** consente di passare gli elementi di un dizionario come argomenti nominati alle funzioni o di unire più dizionari insieme. Questa tecnica è particolarmente utile quando si desidera scrivere codice flessibile e riutilizzabile in grado di gestire insiemi variabili di parametri nominati.

L'operatore ** prende un dizionario ed espande le sue coppie chiave-valore in argomenti keyword separati. Questo viene comunemente utilizzato quando si chiamano funzioni che accettano argomenti keyword, permettendo di passare direttamente un dizionario invece di specificare manualmente ogni argomento. Un altro uso pratico è l'unione di due o più dizionari in uno nuovo, dove tutte le coppie chiave-valore vengono combinate in un unico dizionario.

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

Questo codice dimostra la decomposizione di un dizionario utilizzando l'operatore **. Quando si antepone ** a un dizionario in una chiamata di funzione, Python "espande" le coppie chiave-valore e le passa come argomenti keyword individuali. In questo esempio, print_person(**person_info) è funzionalmente identico a scrivere print_person(name="Alice", age=28). Affinché ciò funzioni correttamente, le chiavi del dizionario devono corrispondere esattamente ai nomi dei parametri definiti nella firma della funzione.

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

Qui puoi vedere l'unione di dizionari. Inserendo ** all'interno di un nuovo dizionario letterale, Python espande le coppie chiave-valore sia di defaults che di overrides in un unico oggetto.

Quando le chiavi si sovrappongono - come "size" in questo esempio - il dizionario che appare più tardi nella sequenza ha la precedenza. Qui, il valore "large" da overrides sovrascrive "medium" da defaults, risultando in un dizionario unito che combina tutte le chiavi uniche dando priorità ai valori più recenti.

1. Qual è il risultato dell'utilizzo di ** su un dizionario in una chiamata di funzione?

2. Quale metodo combina due dizionari utilizzando l'unpacking in Python?

question mark

Qual è il risultato dell'utilizzo di ** su un dizionario in una chiamata di funzione?

Seleziona la risposta corretta

question mark

Quale metodo combina due dizionari utilizzando l'unpacking in Python?

Seleziona la risposta corretta

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 3

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Sezione 1. Capitolo 3
some-alt