You are here: Partenza > Dive Into Python > Conoscere Python > Introduzione ai dizionari | << >> | ||||
Dive Into PythonPython per programmatori esperti |
Una piccola digressione è dovuta perché avete bisogno di conoscere dizionari, tuple e liste. Se siete dei programmatori esperti in Perl, probabilmente ne sapete abbastanza sui dizionari e sulle liste, ma dovreste comunque prestare attenzione alle tuple.
Uno dei tipi predefiniti in Python è il dizionario che definisce una relazione uno-a-uno tra chiavi e valori.
Un dizionario in Python è come una hash in Perl. In Perl, le variabili che memorizzano degli hash cominciano sempre con il carattere %; in Python, le variabili possono avere qualsiasi nome, e Python tiene traccia del loro tipo internamente. |
Un dizionario in Python è come l'istanza di una classe Hashtable in Java. |
Un dizionario Python è come l'istanza di un oggetto Scripting.Dictionary in Visual Basic. |
>>> d = {"server":"mpilgrim", "database":"master"} >>> d {'server': 'mpilgrim', 'database': 'master'} >>> d["server"] 'mpilgrim' >>> d["database"] 'master' >>> d["mpilgrim"] Traceback (innermost last): File "<interactive input>", line 1, in ? KeyError: mpilgrim
>>> d {'server': 'mpilgrim', 'database': 'master'} >>> d["database"] = "pubs" >>> d {'server': 'mpilgrim', 'database': 'pubs'} >>> d["uid"] = "sa" >>> d {'server': 'mpilgrim', 'uid': 'sa', 'database': 'pubs'}
Notate che il nuovo elemento (chiave 'uid', valore 'sa') sembra trovarsi nel mezzo. Infatti è una semplice coincidenza che gli elementi appaiano ordinati nel primo esempio; è comunque una coincidenza anche il fatto che ora appaiano disordinati.
I dizionari non hanno il concetto di ordinamento tra elementi. È errato dire che gli elementi sono “disordinati”; sono semplicemente non ordinati. Si tratta di un'importante distinzione che vi darà noia quando vorrete accedere agli elementi di un dizionario in un ordine specifico e ripetibile (ad esempio in ordine alfabetico di chiave). Ci sono dei modi per farlo, semplicemente non sono predefiniti nel dizionario. |
>>> d {'server': 'mpilgrim', 'uid': 'sa', 'database': 'pubs'} >>> d["retrycount"] = 3 >>> d {'server': 'mpilgrim', 'uid': 'sa', 'database': 'master', 'retrycount': 3} >>> d[42] = "douglas" >>> d {'server': 'mpilgrim', 'uid': 'sa', 'database': 'master', 42: 'douglas', 'retrycount': 3}
>>> d {'server': 'mpilgrim', 'uid': 'sa', 'database': 'master', 42: 'douglas', 'retrycount': 3} >>> del d[42] >>> d {'server': 'mpilgrim', 'uid': 'sa', 'database': 'master', 'retrycount': 3} >>> d.clear() >>> d {}
>>> d = {} >>> d["key"] = "value" >>> d["key"] = "other value" >>> d {'key': 'other value'} >>> d["Key"] = "third value" >>> d {'Key': 'third value', 'key': 'other value'}
<< Testare i moduli |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
Introduzione alle liste >> |