Diccionarios
Diccionarios
Un diccionario es una colección de pares formados por una clave y un valor asociado a la clave.
Se construyen poniendo los pares entre llaves { }
separados por comas, y separando la clave del valor con dos puntos :
.
Se caracterizan por:
- No tienen orden.
- Pueden contener elementos de distintos tipos.
- Son mutables, es decir, pueden alterarse durante la ejecución de un programa.
- Las claves son únicas, es decir, no pueden repetirse en un mismo diccionario, y pueden ser de cualquier tipo de datos inmutable.
Acceso a los elementos de un diccionario
d[clave]
devuelve el valor del diccionariod
asociado a la claveclave
. Si en el diccionario no existe esa clave devuelve un error.d.get(clave, valor)
devuelve el valor del diccionariod
asociado a la claveclave
. Si en el diccionario no existe esa clave devuelvevalor
, y si no se especifica un valor por defecto devuelveNone
.
Operaciones que no modifican un diccionario
len(d)
: Devuelve el número de elementos del diccionariod
.min(d)
: Devuelve la mínima clave del diccionariod
siempre que las claves sean comparables.max(d)
: Devuelve la máxima clave del diccionariod
siempre que las claves sean comparables.sum(d)
: Devuelve la suma de las claves del diccionariod
, siempre que las claves se puedan sumar.clave in d
: DevuelveTrue
si la claveclave
pertenece al diccionariod
yFalse
en caso contrario.d.keys()
: Devuelve un iterador sobre las claves de un diccionario.d.values()
: Devuelve un iterador sobre los valores de un diccionario.d.items()
: Devuelve un iterador sobre los pares clave-valor de un diccionario.
Operaciones que modifican un diccionario
d[clave] = valor
: Añade al diccionariod
el par formado por la claveclave
y el valorvalor
.d.update(d2)
. Añade los pares del diccionariod2
al diccionariod
.d.pop(clave, alternativo)
: Devuelve del valor asociado a la claveclave
del diccionariod
y lo elimina del diccionario. Si la clave no está devuelve el valoralternativo
.d.popitem()
: Devuelve la tupla formada por la clave y el valor del último par añadido al diccionariod
y lo elimina del diccionario.del d[clave]
: Elimina del diccionariod
el par con la claveclave
.d.clear()
: Elimina todos los pares del diccionariod
de manera que se queda vacío.
Copia de diccionarios
Existen dos formas de copiar diccionarios:
- Copia por referencia
d1 = d2
: Asocia la variabled1
el mismo diccionario que tiene asociado la variabled2
, es decir, ambas variables apuntan a la misma dirección de memoria. Cualquier cambio que hagamos a través del1
ol2
afectará al mismo diccionario. - Copia por valor
d1 = dict(d2)
: Crea una copia del diccionario asociado ad2
en una dirección de memoria diferente y se la asocia ad1
. Las variables apuntan a direcciones de memoria diferentes que contienen los mismos datos. Cualquier cambio que hagamos a través del1
no afectará al diccionario del2
y viceversa.