7.2 Type dict
Diccionari
Una altra forma d’emmagatzemar col·leccions de dades és utilitzant el tipus diccionari de Python: dict.
La forma general d’un diccionari és:
{key1: value1, key2: value2, ..., keyN: valueN}
Les claus han de ser uniques. Els valors poden ser duplicats. Per exemple:
asn_to_grade = {'A1': 80, 'A2': 90, 'A3': 90}
En l’exemple anterior, les claus són úniques: 'A1', 'A2' i 'A3'. Els valors no són únics: 80, 90 i 90.
Com modificar diccionaris
Els Diccionaris són mutables: es poden modificar. A continuació, es mostren les operacions i mètodes que poden aplicar-se als diccionaris.
Operació | Descripció | Exemple |
---|---|---|
object in dict | Comprova si un object és una clau en dict. | >>> asn_to_grade = {'A1': 80, 'A2': 90, 'A3': 90} |
len(dict) | Retorna el nombre de claus en dict. | >>> asn_to_grade = {'A1': 80, 'A2': 90, 'A3': 90} |
del dict[key] | Esborra una clau i el seu valor associat del dict. | >>> asn_to_grade = {'A1': 80, 'A2': 90, 'A3': 90} |
dict[key] = value | Si key no existeix en dict, afegeix key i el seu value associat a dict.Si key existeix en dict, actualitza dict per establir el valor associat amb la key per value. | >>> asn_to_grade = {'A1' : 80, 'A2': 90, 'A3':90} |
Accés a la informació dels diccionaris
Els diccionaris estan desordenats. És a dir, l’ordre en el que s’afegeix la parella clau-valor al diccionari no afecta l’ordre en el que s’hi accedeix. Per exemple:
>>> asn_to_grade = {'A1': 80, 'A2': 70, 'A3': 90}
>>> for assignment in asn_to_grade:
print(assignment)
A1
A3
A2
El bucle-for anterior, imprimeix les claus del diccionari. També podem imprimir els valors:
>>> asn_to_grade = {'A1': 80, 'A2': 70, 'A3': 90}
>>> for assignment in asn_to_grade:
print(asn_to_grade[assignment])
80
90
70
Finalment, podem imprimir les claus i els valors:
>>> asn_to_grade = {'A1': 80, 'A2': 70, 'A3': 90}
>>> for assignment in asn_to_grade:
print(assignment, asn_to_grade[assignment])
A1 80
A3 90
A2 70
Diccionaris buits
Un diccionari pot estar buit. Per exemple:
d = {}
Diccionaris heterogenis
Un diccionari pot tenir claus de diferents tipus. Per exemple, una clau pot ser de tipus int i un altre de tipus str:
d = {'apple': 1, 3: 4}
Claus Immutables
Les claus d’un diccionari han de ser immutables. Per tant, les llistes, els diccionaris i altres tipus mutables no poden utilitzar-se com a claus. El següent exemple, dóna error:
d[[1, 2]] = 'banana'
Com les llistes són mutables, no poden ser claus. En el seu lloc, pots utilitzar un tipus tuple, com a clau.
d[(1, 2)] = 'banana'