Tutorial sul Python - Dizionario dei tipi di dati

Jinku Hu 3 gennaio 2023
  1. Creare un dizionario Python
  2. get() Metodo per accedere agli elementi del dizionario Python
  3. Elementi di aggiornamento del dizionario Python
  4. Dizionario Python Cancella elementi
  5. Metodi applicabili al dizionario Python
  6. Altre operazioni di dizionario
  7. Iterare attraverso un dizionario
  8. Funzioni integrate con il dizionario
Tutorial sul Python - Dizionario dei tipi di dati

In questa sezione, imparerete il dizionario in Python. Imparerete come creare un dizionario e come aggiungere e cancellare elementi da un dizionario.

Il dizionario è un tipo di dati nativi Python i cui dati/valori sono coppie chiave-valore. Un dizionario contiene elementi non ordinati. Un dato o un valore del dizionario può essere recuperato se si conosce la chiave.

Creare un dizionario Python

Un dizionario può essere creato usando le parentesi graffe {} con ogni elemento come coppia contenente chiave e valore.

Le chiavi del dizionario Python devono essere di tipo di dati immutabili, e i valori possono essere di qualsiasi tipo.

Si consideri l’esempio seguente:

>>> x = {1:'blue', 'key':'pink'}
>>> print(type(x))
<class 'dict'>
>>> print('x[1] = ', x[1])      #using key to retrive value
x[1] =  blue
>>> print("x['key'] =", x['key']) #using key to retrive value
x['key'] = pink

Un dizionario può anche essere inizializzato usando il metodo dict().

>>> dict({1: 'Blue', 2: 'Pink'})
{1: 'Blue', 2: 'Pink'}

get() Metodo per accedere agli elementi del dizionario Python

È possibile accedere ai valori di un dizionario utilizzando i tasti. Le chiavi possono essere usate sia con l’operatore di accesso all’indice come fatto sopra, sia con il metodo get().

Se la chiave non viene trovata quando si usa il metodo get(), invece di un errore verrà restituito None.

>>> d = dict({1: 'Blue', 2: 'Pink'})
>>> print(d[1])
Blue
>>> print(d.get(1))
Blue
>>> print(d[3])
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    d[3]
KeyError: 3
>>> print(d.get(3))
None

Elementi di aggiornamento del dizionario Python

Il dizionario è mutevole, quindi è possibile aggiornare, aggiungere e cancellare elementi da un dizionario. Gli elementi di un dizionario possono essere aggiornati utilizzando l’operatore di assegnazione.

Quando si aggiornano elementi con una chiave che non esiste nel dizionario, viene creata una nuova coppia chiave-valore, altrimenti il valore corrispondente viene aggiornato.

>>> d = dict({1: 'Blue', 2: 'Pink'})
>>> d[1] = 'Yellow'
>>> print(d)
{1: 'Yellow', 2: 'Pink'}
>>> d[3] = 'Black'
>>> print(d)
{1: 'Yellow', 2: 'Pink', 3: 'Black'}

Dizionario Python Cancella elementi

Di seguito sono riportati alcuni modi per eliminare elementi dal dizionario:

  1. metodo pop(): Rimuove e restituisce il valore della chiave corrispondente.
  2. popitem() metodo: Rimuove e restituisce un arbitrario (key, value) dal dizionario.
  3. clear() metodo: Cancellerà tutti gli elementi dal dizionario ma non il dizionario.
  4. del keyword: Può rimuovere un particolare metodo o l’intero dizionario.

Considerate l’esempio qui sotto:

>>> d = dict({1: 'Blue', 2: 'Pink', 3:'Yellow', 4:'Red'})
>>> print(d.pop(2))
Pink
>>> print(d)
{1: 'Blue', 3: 'Yellow', 4: 'Red'}
>>> print(d.popitem())
(4, 'Red')
>>> print(d)
{1: 'Blue', 3: 'Yellow'}
>>> del d[3]
>>> print(d)
{1: 'Blue'}
>>> d.clear()
>>> print(d)
{}
>>> del d
>>> print(d)
Traceback (most recent call last):
  File "<pyshell#13>", line 1, in <module>
    print(d)
NameError: name 'd' is not defined

Metodi applicabili al dizionario Python

Si consideri la tabella seguente:

Metodo Descrizione
clear() cancellare tutti gli elementi dal dizionario
copy() copiare un dizionario
fromkeys(seq[,v]) restituire un dizionario con elementi seq come chiavi e i valori saranno uguali a v
get(key[,d]) ottenere il valore della chiave e se non c’è nessuna chiave, d verrà restituito.
items() restituire le voci del dizionario come (key, value)
keys() restituire le chiavi di un dizionario
pop(key[,d]) rimuovere un elemento corrispondente alla “chiave”. Se la chiave non esiste il valore corrispondente a d verrà restituito. Se sia d che key non esistono, verrà generato un errore.
popitem() Esso restituirà e rimuoverà sia la chiave che il valore dal dizionario.
setdefault(key[,d]) restituire il valore della chiave. Se la chiave non viene trovata, verrà creata una nuova chiave con il valore d e d verrà restituita.
update([other]) aggiornare il dizionario con chiavi e valori come other
values() restituire i valori di un dizionario

Altre operazioni di dizionario

Controllo dell’appartenenza al dizionario

La parola chiave in controlla se un elemento è un membro del dizionario o meno.

Nota
Le chiavi di un dizionario sono utilizzate per il controllo dei soci, ma non i valori.
>>> d = dict({1: 'Blue', 2: 'Pink', 3:'Yellow', 4:'Red'})
>>> print(2 in d)
True
>>> print(5 in d)
False

Iterare attraverso un dizionario

È possibile iterare attraverso un dizionario utilizzando il bucle for:

>>> d = dict({1: 'Blue', 2: 'Pink', 3:'Yellow', 4:'Red'})
>>> for i in d:
		print(i)
1
2
3
4

Funzioni integrate con il dizionario

Di seguito sono riportate alcune delle funzioni integrate che possono essere utilizzate con i dizionari per eseguire diversi compiti:

Funzioni Descrizione
all() restituire True quando tutte le chiavi del dizionario sono True. Restituisce anche True quando il dizionario è vuoto.
any() restituire True quando una qualsiasi delle chiavi del dizionario è True. Restituisce False quando il dizionario è vuoto.
cmp() confrontare due dizionari
len() restituire il numero di voci di un dizionario o la lunghezza del dizionario.
sorted() restituire una lista ordinato di chiavi di un dizionario.

Considerate il seguente codice:

>>> d = dict({1: 'Blue', 2: 'Pink', 3:'Yellow', 4:'Red'})
>>> print(len(d))
4
>>> print(sorted(d))
[1, 2, 3, 4]
Autore: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook