Dizionario annidato in Python
Un dizionario annidato Python è un dizionario all’interno di un dizionario, dove anche i valori del dizionario esterno sono dizionari. Il codice seguente mostra un esempio elementare.
d1 = {
0: {"Dept": "Mathematics", "Prof": "Dr Jack"},
1: {"Dept": "Physics", "Prof": "Dr Mark"},
}
print(d1)
Produzione:
{0: {'Dept': 'Mathematics', 'Prof': 'Dr Jack'}, 1: {'Dept': 'Physics', 'Prof': 'Dr Mark'}}
Possiamo accedere facilmente agli elementi del dizionario usando la chiave del dizionario annidato, come mostrato nell’esempio seguente.
d1 = {
0: {"Dept": "Mathematics", "Prof": "Dr Jack"},
1: {"Dept": "Physics", "Prof": "Dr Mark"},
}
print(d1[0]["Dept"])
Produzione:
Mathematics
Qui, 0
è la chiave del dizionario esterno e 'Dept'
è la chiave del dizionario interno.
Possiamo anche aggiungere elementi come facciamo in un normale dizionario Python. Inoltre, possiamo anche aggiungere un intero dizionario come elemento. Per esempio:
d1 = {
0: {"Dept": "Mathematics", "Prof": "Dr Jack"},
1: {"Dept": "Physics", "Prof": "Dr Mark"},
}
d1[2] = {"Dept": "CS", "Prof": "Dr Jay"}
print(d1[2])
Produzione:
{"Dept": "CS", "Prof": "Dr Jay"}
Python ha un costruttore defaultdict()
nel modulo collections
per creare dizionari e restituire un valore predefinito quando si accede a una chiave non disponibile.
Il tipo di dati defaultdict()
è molto utile quando si desidera restituire valori predefiniti o inizializzare il dizionario secondo le proprie esigenze. Il codice seguente mostra come creare un semplice dizionario con questo metodo:
from collections import defaultdict
d1 = defaultdict(lambda: defaultdict(dict))
d1["key_outer_1"] = {"key_inner_1": "val1"}
d1["key_outer_2"] = {"key_inner_2": "val2"}
print(dict(d1))
Produzione:
{'key_outer_1': {'key_inner_1': 'val1'}, 'key_outer_2': {'key_inner_2': 'val2'}}
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn