Tutorial sul Python - Dizionario dei tipi di dati
- Creare un dizionario Python
-
get()
Metodo per accedere agli elementi del dizionario Python - Elementi di aggiornamento del dizionario Python
- Dizionario Python Cancella elementi
- Metodi applicabili al dizionario Python
- Altre operazioni di dizionario
- Iterare attraverso un dizionario
- Funzioni integrate con il dizionario
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:
- metodo
pop()
: Rimuove e restituisce il valore della chiave corrispondente. popitem()
metodo: Rimuove e restituisce un arbitrario(key, value)
dal dizionario.clear()
metodo: Cancellerà tutti gli elementi dal dizionario ma non il dizionario.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.
>>> 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]
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