Diccionaris en Python

Un diccionari és una estructura de dades que ens permet guardar diversos valors dins d’una mateixa variable.

La diferència respecte a llistes i tuples és molt important:

En un diccionari, els valors no es guarden per posició, sinó per clau.

Cada element té:

clau : valor

Crear un diccionari

Un diccionari es crea amb claudàtors {}.

alumne = {
    "nom": "Anna",
    "edat": 16,
    "curs": "SMX"
}

Cada element està format per:

"clau": valor

Les claus solen ser textos.


Accedir als valors

Per accedir a un valor, utilitzem la seua clau.

alumne = {
    "nom": "Anna",
    "edat": 16,
    "curs": "SMX"
}

print(alumne["nom"])
print(alumne["edat"])

Ja no usem índexs com en les llistes.


Diccionari buit

També podem crear un diccionari buit.

d = {}

Després podem afegir elements.


Afegir elements

Per afegir un nou element:

alumne = {}

alumne["nom"] = "Joan"
alumne["edat"] = 17

print(alumne)

Modificar un valor

Si la clau ja existeix, el valor es modifica.

alumne["edat"] = 18

Longitud d’un diccionari

Per saber quants elements té:

print(len(alumne))

Recórrer un diccionari

Recórrer les claus

alumne = {
    "nom": "Anna",
    "edat": 16,
    "curs": "SMX"
}

for clau in alumne:
    print(clau)

Recórrer els valors

for clau in alumne:
    print(alumne[clau])

Recórrer clau i valor

for clau in alumne:
    print(clau, ":", alumne[clau])

(Encara no usem .items() si no l’hem vist.)


Exemple pràctic senzill

persona = {}

persona["nom"] = input("Nom: ")
persona["edat"] = int(input("Edat: "))

print("Nom:", persona["nom"])
print("Edat:", persona["edat"])

Diferència clara amb llistes

Llista:

notes = [6, 8, 7]
print(notes[0])

Diccionari:

notes = {
    "mate": 6,
    "angles": 8,
    "historia": 7
}

print(notes["mate"])

Errors típics amb diccionaris

Accedir a una clau que no existeix

alumne = {"nom": "Anna"}

print(alumne["edat"])  # error

Confondre amb índex

print(alumne[0])  # error

Els diccionaris no funcionen amb posicions.


Resum

  • Un diccionari guarda valors per clau.
  • Es crea amb {}.
  • Cada element és clau: valor.
  • S’accedeix amb diccionari["clau"].
  • len() indica quants elements té.
  • Es pot recórrer amb for.


Table of contents