Diccionaris
Les llistes guarden valors ordenats per posició. Els diccionaris guarden valors per clau — com un diccionari real, on busques una paraula (clau) i trobes la definició (valor).
Crear un diccionari i accedir-hi
Un diccionari s'escriu amb claus {}. Cada entrada és un parell clau: valor, separat per comes:
Per accedir a un valor, escrius el nom del diccionari seguit de la clau entre claudàtors []. Les claus solen ser cadenes de caràcters; els valors poden ser qualsevol tipus de dades.
A diferència de les llistes, l'ordre no importa: no busques per posició (0, 1, 2…), sinó per nom.
Afegir, modificar i eliminar entrades
Pots afegir una entrada nova simplement assignant-li un valor. Si la clau ja existia, el valor s'actualitza:
Per eliminar una entrada, usa del:
Mètodes útils: keys(), values(), items()
Els diccionaris tenen tres mètodes fonamentals per inspeccionar-los:
El list() converteix el resultat en una llista normal per poder-lo imprimir. A la secció següent veuràs com recórrer-los directament sense convertir.
Recórrer les entrades d'un diccionari
La manera més pràctica de recórrer un diccionari és amb .items() i fent una doble iteració amb la instrucció for:
Comprovar si una clau existeix
Si intentes accedir a una clau que no existeix, Python dona un KeyError. Per evitar-ho, fes servir la instrucció in:
Alternativament, el mètode .get(clau, valor_per_defecte) retorna el valor si existeix, o el valor per defecte si no:
Errors típics
El KeyError és l'error més freqüent amb diccionaris. Executa l'exemple i observa l'error:
Corregeix el codi perquè no doni error (pots usar in o .get()).
Exercici
puntuacions amb exactament aquestes tres entrades: "Anna" → 85, "Bernat" → 92, "Carla" → 78. Després, recorre el diccionari amb for i imprimeix cada línia en el format Nom: X punts.
Anna: 85 punts Bernat: 92 punts Carla: 78 punts
Resum
- Un diccionari guarda parelles clau-valor:
{"clau": valor}. - S'accedeix per clau:
d["clau"]. Si no existeix:KeyError. - Afegir o modificar:
d["nova"] = valor. Eliminar:del d["clau"]. - Mètodes útils:
.keys(),.values(),.items(). - Recórrer:
for clau, valor in d.items(): - Comprovar si existeix:
if "clau" in d:od.get("clau", defecte).