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'

results matching ""

    No results matching ""