Vedi le Hash Tables

Un dictionary è una collezione disordinata strutturata per duplice associazione utilizzando i parametri "key:value". I valori “key:value” sono separati tra loro da ”,” e sono inseriti tra {}. Un valore può essere associato a più chiavi, le keys sono univoche.

capitals = {"Italy":"Rome","France":"Paris"}
>>> capitals
>>> {"France","Paris","Italy":"Rome"}

Possiamo manipolare i dictionaries:

  1. Accedendo al “value” (come un index) attraverso la “key”:
for k in capitals:
print(capitals[k]," is the capital of ", k)
>>> print(capitals[k]," is the capital of ", k)
>>> "Paris is the capital of France"
>>> "Rome is the capital of Rome"
  1. Aggiungendo un nuovo elemento “key:value”:
capitals['Utah']='SaltLakeCity'
>>> capitals {"Utah":"SaltLakeCity","France":"Paris","Italy":"Rome"}

Operatori su dictionary

OperatoreUsoSpiegazione
[]dict[k]Ritorna il valore associato con k, altrimenti errore
inkey in dictRitorna True se “key” in dictionary, altrimenti False
deldel dict[key]Rimuove la chiave dal dictionary

Metodi su dictionary

MetodoUsoSpiegazione
cleardict.clear()Rimuove tutti gli elementi dal dizionario.
copydict.copy()Ritorna una copia del dizionario.
fromkeysdict.fromkeys(x,y)Ritorna un dizionario con le chiavi e i valori specificati.
keysdict.keys()Ritorna una lista contenente una tupla per ogni coppia chiave/valore.
valuesdict.values()Ritorna una lista di tutti i valori del dizionario.
itemsdict.itemsRitorna i valori “key-value” in un dict_items object
getdict.get(k)Ritorna elemento “value” associato a k, altrimenti None
getdict.get(k,alt)Ritorna elemento “value” associato a k, altrimenti alt
popdict.pop(k, def)Rimuove il valore k, se la chiave non esiste ritorna def (parametro opzionale)
popitemdict.popitem()Rimuove l’ultimo elemento dal dizionario.
updatedict.update()Aggiorna il dizionario con una coppia chiave/valore.

Esempi

dict_keys(['brad', 'david'])
>>> list(phone_ext.keys())
['brad', 'david']
 
>>> "brad" in phone_ext
True
 
>>> 1137 in phone_ext
False    # 1137 is not a key in phone_ext
>>> phone_ext.values() # Returns the values of the dictionary
phone_ext
dict_values([1137, 1410])
>>> list(phone_ext.values())
[1137, 1410]
>>> phone_ext.items()
dict_items([('brad', 1137), ('david', 1410)])
>>> list(phone_ext.items())
[('brad', 1137), ('david', 1410)]
>>> phone_ext.get("kent")
>>> phone_ext.get("kent","NO ENTRY")
'NO ENTRY'
>>> del phone_ext["david"]
>>> phone_ext
{'brad': 1137}