Un oggetto mappa tiene traccia dei valori immutabili per gli
oggetti arbitrari. Le mappe sono oggetti mutabili. Correntemente
esiste solo un tipo mappa, il dizionario. Le chiavi di un dizionario
sono valori quasi arbitrari. Solo valori contenenti liste, dizionari
o altri tipi mutabili (che sono confrontati per valore piuttosto che per
identità dell'oggetto) non possono venire usati come chiavi. I tipi
numerici usati per le chiavi obbediscono alle regole normali per il
confronto numerico: se due numeri confrontati sono uguali
(come 1
e 1.0
), allora possono essere usati in modo
intercambiabile per indicizzare le stesse voci del dizionario.
I dizionari vengono creati mettendo una lista di coppie
chiave: valore
separati da virgole, tra parentesi
graffe, per esempio:
{'jack': 4098, 'sjoerd': 4127}
o
{4098: 'jack', 4127: 'sjoerd'}
.
Le seguenti operazioni vengono definite nelle mappe (dove a e b sono mappe, k è una chiave, e v ed x sono oggetti arbitrari):
Operazione | Risultato | Note |
---|---|---|
len(a) |
il numero degli elementi in a | |
a[k] |
l'elemento di a con chiave k | (1) |
a[k] = v |
assegna a[k] a v |
|
del a[k] |
rimuove a[k] da a |
(1) |
a.clear() |
rimuove tutti gli elementi da a |
|
a.copy() |
copia superficiale di a |
|
a.has_key(k) |
True se a ha una chiave k, altrimenti
False |
|
k |
equivalente a a.has_key(k) | (2) |
k not in a |
equivalente a not a.has_key(k) |
(2) |
a.items() |
una copia della lista a di coppie (chiave, valore) | (3) |
a.keys() |
una copia della lista a di chiavi | (3) |
a.update([b]) |
aggiorna (e sovrascrive) le coppie di chiavi/valori da b | (9) |
a.fromkeys(seq[, value]) |
crea un nuovo dizionario con chiavi da seq e valori impostati a value | (7) |
a.values() |
una copia dei valori della lista a | (3) |
a.get(k[, x]) |
a[k] se k in a ,
altrimenti x |
(4) |
a.setdefault(k[, x]) |
a[k] se k in a ,
altrimenti x (anch'essa impostata) |
(5) |
a.pop(k[, x]) |
a[k] se k in a ,
altrimenti x (e rimozione di k) |
(8) |
a.popitem() |
rimuove e restituisce una coppia di valori arbitrari (chiave, valore) | (6) |
a.iteritems() |
restituisce un iteratore su coppie (chiave, valore) | (2), (3) |
a.iterkeys() |
restituisce un iteratore su chiavi di mappe | (2), (3) |
a.itervalues() |
restituisce un iteratore su valori di mappe | (2), (3) |
Note:
(valore, chiave)
usando
zip():
"coppie = zip(a.values(), a.keys())". Le stesse
relazioni valgono per i metodi iterkeys() e
itervalues():
"coppie = zip(a.itervalues(), a.iterkeys())" forniscono lo stesso valore per coppie
. Un altro modo per
creare la stessa lista è:
"coppie = [(v, k) for (k, v) in a.iteritems()]".
None
.
None
.
Nuovo nella versione 2.3.
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.