2.1 Ottenere il numero di elementi
In Python per ottenere il numero di elementi in un dizionario si usa
la funzione len()
incorporata. Questa funzione restituisce il numero di coppie
chiave-valore nel dizionario. Oppure il numero di chiavi, se preferisci.
Ecco un esempio di utilizzo della funzione:
person = {"name": "Alice", "age": 25, "city": "New York"}
num_elements = len(person)
print(num_elements) # Output: 3
In questo esempio abbiamo un dizionario person
con tre elementi. La funzione
len(person)
restituisce il numero di elementi nel dizionario, che
è 3.
Controllare se un dizionario è vuoto
Puoi usare la funzione len()
per verificare se un dizionario è vuoto.
Questo è utile in condizioni e cicli.
empty_dict = {}
print(len(empty_dict)) # Output: 0
person = {"name": "Alice", "age": 25, "city": "New York"}
if len(person) > 0:
print("Il dizionario non è vuoto")
else:
print("Il dizionario è vuoto")
Dizionario con strutture annidate
La funzione len()
considera
solo il numero di chiavi di primo livello, indipendentemente da
ciò che è contenuto come valore.
complex_dict = {
name: "Alice",
details: {
age: 25,
city: "New York"
},
hobbies: ["reading", "traveling"]
}
print(len(complex_dict)) # Output: 3
In questo esempio abbiamo un dizionario con strutture di dati annidate.
len(complex_dict)
restituisce 3, perché al
livello superiore ci sono tre chiavi: "name",
"details" e "hobbies".
len()
ignora le chiavi all'interno delle strutture di dati annidate,
come "age" e "city"
all'interno del dizionario "details", perché
len()
conta solo le chiavi di primo livello. Se hai bisogno di contare il numero totale di elementi,
incluse le strutture annidate, dovrai usare un metodo ricorsivo. Ma non oggi.
2.2 Determinare il tipo
La funzione type()
in Python è usata per
determinare il tipo di un oggetto. Quando si lavora con i dizionari
type()
permette di determinare che l'oggetto è un'istanza
della classe dict
. Questo può essere utile in vari scenari, ad esempio, per
verificare il tipo di dati prima di eseguire operazioni sul dizionario.
Esempi di utilizzo:
Verifica del tipo di oggetto
person = {"name": "Alice", "age": 25, "city": "New York"}
print(type(person)) # Output: <class 'dict'>
In questo esempio creiamo un dizionario person
e usiamo
type
per determinare il suo tipo. La funzione restituisce <class
'dict'>
, indicando che person
è un dizionario.
Verifica condizionale del tipo di dati
La funzione type()
può essere usata per verificare il tipo di dati
in espressioni condizionali, permettendo di eseguire operazioni specifiche solo
per oggetti di tipo dict
.
data = {"name": "Alice", "age": 25, "city": "New York"}
if type(data) is dict:
print("È un dizionario.")
else:
print("Non è un dizionario.")
In questo esempio l'espressione condizionale verifica se data
è un dizionario e
esegue il codice corrispondente.
La funzione type()
può essere utilizzata all'interno di funzioni personalizzate per
verificare il tipo di argomenti, garantendo che la funzione
gestisca il corretto tipo di dati.
Esempio:
def process_data(data):
if type(data) is dict:
print("Elaborazione del dizionario...")
# Esecuzione delle operazioni sul dizionario
else:
print("Errore: è atteso un dizionario.")
data = {"name": "Alice", "age": 25, "city": "New York"}
process_data(data)
In questo esempio la funzione process_data
verifica se l'argomento data
è un dizionario e esegue operazioni appropriate solo per i dizionari.
2.3 Ottenere un elemento
Lavorare con gli elementi del dizionario è simile a lavorare con una lista o una tupla — usiamo anche qui le parentesi quadre. Tuttavia, invece dell'indice dell'elemento nelle parentesi, bisogna indicare la chiave. La chiave di un dizionario può essere qualsiasi elemento immutabile: stringa, numero o, ad esempio, una tupla.
dizionario[chiave]
Esempio:
person = {"name": "Alice", "age": 25, "city": "New York"}
name = person["name"]
print(name) # Output: Alice
Se la chiave non esiste, si verificherà un errore:
person = {"name": "Alice", "age": 25, "city": "New York"}
person["country"] # si verificherà un errore KeyError: 'country'
Metodo get(key, def_value)
Il metodo get()
permette di ottenere in modo sicuro un valore tramite la chiave.
Se la chiave non esiste, il metodo restituisce un valore predefinito (None
, se
il valore predefinito non è specificato). Questo previene l'insorgere
dell'eccezione KeyError
.
person = {"name": "Alice", "age": 25, "city": "New York"}
age = person.get("age")
print(age) # Output: 25
country = person.get("country", "USA")
print(country) # Output: USA
Il secondo parametro nel metodo get()
può essere un valore che si desidera
restituire, se la chiave richiesta non è presente nel dizionario.
Il metodo setdefault()
funziona in modo simile al metodo
get()
, ma se la chiave non esiste nel dizionario, il metodo non solo restituisce il valore di default,
ma aggiunge al dizionario un nuovo paio chiave: valore
.
person = {"name": "Alice", "age": 25}
city = person.setdefault("city", "New York")
print(city) # Output: New York
print(person) # Output: {'name': 'Alice', 'age': 25, 'city': 'New York'}
GO TO FULL VERSION