3.1 Visualizzazione degli elementi figli
Come già sai, un dizionario memorizza al suo interno coppie di elementi
chiave-valore. Ha metodi che ci permettono di accedere a
questi dati: keys()
, values()
e
items()
. Di seguito ti spiego in dettaglio.
Importante!
Questi metodi restituiscono non solo liste
di elementi, ma le cosiddette viste (view)
. Le viste del dizionario
forniscono una rappresentazione dinamica delle chiavi, dei valori e delle coppie
chiave-valore contenute nel dizionario. Queste
viste si aggiornano automaticamente quando il dizionario cambia.
Metodo keys()
Il metodo keys()
restituisce una vista di tutte le chiavi nel dizionario.
Il risultato è un oggetto dict_keys
, che supporta l'iterazione e
altre operazioni simili ai set.
person = {"name": "Alice", "age": 25, "city": "New York"}
keys = person.keys()
print(keys) # dict_keys(['name', 'age', 'city'])
Iterazione sulle chiavi
for key in person.keys():
print(key)
# Uscita:
# name
# age
# city
Metodo values()
Il metodo values()
restituisce una vista di tutti i valori nel
dizionario. Il risultato è un oggetto dict_values
, che
supporta anche il ciclo.
person = {"name": "Alice", "age": 25, "city": "New York"}
values = person.values()
print(values) # dict_values(['Alice', 25, 'New York'])
Iterazione sui valori
for value in person.values():
print(value)
# Uscita:
# Alice
# 25
# New York
Metodo items()
Il metodo items()
restituisce una vista di tutte le coppie chiave-valore nel
dizionario. Il risultato è un oggetto dict_items
, che
supporta il funzionamento con i cicli.
person = {"name": "Alice", "age": 25, "city": "New York"}
items = person.items()
print(items) # dict_items([('name', 'Alice'), ('age', 25), ('city', 'New York')])
Iterazione sulle coppie chiave-valore
for key, value in person.items():
print(f"{key}: {value}")
# Uscita:
# name: Alice
# age: 25
# city: New York
3.2 Aggiornamento dinamico
Una delle proprietà importanti delle viste del dizionario è il loro aggiornamento dinamico. Questo significa che, se il dizionario cambia, le viste riflettono automaticamente questi cambiamenti.
person = {"name": "Alice", "age": 25}
keys = person.keys()
print(keys) # dict_keys(['name', 'age'])
# Aggiunta di un nuovo elemento
person["city"] = "New York"
print(keys) # dict_keys(['name', 'age', 'city'])
Conversione delle viste in altre collezioni
Le viste del dizionario possono essere convertite in altre collezioni, come liste, set o tuple, per eseguire operazioni aggiuntive.
person = {"name": "Alice", "age": 25, "city": "New York"}
# Conversione di keys() in lista
keys_list = list(person.keys())
print(keys_list) # ['name', 'age', 'city']
# Conversione di values() in set
values_set = set(person.values())
print(values_set) # {'Alice', 25, 'New York'}
# Conversione di items() in lista di tuple
items_list = list(person.items())
print(items_list) # [('name', 'Alice'), ('age', 25), ('city', 'New York')]
GO TO FULL VERSION