Python/Dizionari: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Corretto: "non c'entra"
m Update syntaxhighlight tags - remove use of deprecated <source> tags
 
Riga 7:
Un dizionario può essere costruito usando le parentesi graffe:
 
<sourcesyntaxhighlight lang=python>
>>> d={'a':45, 7:98, 497:list('pippo'), 3.14:'pi greco', (2, 7):'p'}
>>> print d
{'a': 45, 497: ['p', 'i', 'p', 'p', 'o'], 3.1400000000000001: 'pi greco', (2, 7): 'p', 7: 98}
</syntaxhighlight>
</source>
 
Alcune osservazioni:
Riga 24:
Per ottenere un valore di un dizionario si utilizza la stessa sintassi di indicizzazione delle liste:
 
<sourcesyntaxhighlight lang=python>
>>> print d[7]
98
Riga 31:
>>> print d[(2, 7)]
p
</syntaxhighlight>
</source>
 
Il metodo '''keys()''' permette di ottenere tutte le chiavi contenute in un dizionario e iterando con le chiavi è possibile estrarre tutti i valori corrispondenti:
 
<sourcesyntaxhighlight lang=python>
>>> d={'a':7, 'b':9, 'c':3, 'd':0, 'e':9, 'f':6, 'g':5}
>>> print d
Riga 50:
g --> 5
f --> 6
</syntaxhighlight>
</source>
 
Per ottenere gli elementi secondo un preciso ordine delle chiavi posso ordinarle prima di usarle nel ciclo '''for''':
 
<sourcesyntaxhighlight lang=python>
>>> chiavi=d.keys()
>>> chiavi.sort()
Riga 68:
f --> 6
g --> 5
</syntaxhighlight>
</source>
 
Per modificare un valore basta utilizzare il suo indice:
 
<sourcesyntaxhighlight lang=python>
>>> d['e']=44
>>>
>>> d
{'a': 7, 'c': 3, 'b': 9, 'e': 44, 'd': 0, 'g': 5, 'f': 6}
</syntaxhighlight>
</source>
 
Per aggiungere un elemento si utilizza sempre la stessa sintassi:
 
<sourcesyntaxhighlight lang=python>
>>> d['h']=4
>>> d
{'a': 7, 'c': 3, 'b': 9, 'e': 9, 'd': 0, 'g': 5, 'f': 6, 'h': 4}
</syntaxhighlight>
</source>
 
Non sempre sappiamo quali elementi sono contenuti in un dizionario, quindi Python mette a disposizione due metodi che si comportano in modo diverso se la chiave è contenuta o non è contenuta nel dizionario. Infatti se tento di ottenere il valore associato ad una chiave inesistente ottengo un errore:
 
<sourcesyntaxhighlight lang=python>
>>> print d['m']
Traceback (most recent call last):
Riga 95:
print d['m']
KeyError: 'm'
</syntaxhighlight>
</source>
 
Il metodo '''get''' invece funziona anche se la chiave non è presente:
<sourcesyntaxhighlight lang=python>
>>> print d.get('m')
None
</syntaxhighlight>
</source>
 
'''get''' ha anche un secondo argomento, opzionale che viene dato come risultato se la chiave non è presente:
 
<sourcesyntaxhighlight lang=python>
>>> print d.get('g', 5)
5
>>> print d.get('m', 99)
99
</syntaxhighlight>
</source>
 
== Un esempio ==
Riga 116:
I dizionari hanno anche molti altri metodi, ma questi permettono già di svolgere con poche linee di codice compiti piuttosto complessi. Possiamo scrivere una procedura che conti le occorrenze delle lettere presenti in una certa stringa:
 
<sourcesyntaxhighlight lang=python>
>>> def contacaratteri(s):
d={}
Riga 135:
o --> 2
r --> 1
</syntaxhighlight>
</source>
 
Tutti i metodi dei dizionari si possono ottenere con l'istruzione:
 
<sourcesyntaxhighlight lang=python>
>>> help(dict)
</syntaxhighlight>
</source>
 
[[Categoria:Python|Dizionari]]