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 diccionariodasociado a la claveclave. Si en el diccionario no existe esa clave devuelve un error.d.get(clave, valor)devuelve el valor del diccionariodasociado 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 diccionariodsiempre que las claves sean comparables.max(d): Devuelve la máxima clave del diccionariodsiempre 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: DevuelveTruesi la claveclavepertenece al diccionariodyFalseen 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 diccionariodel par formado por la claveclavey el valorvalor.d.update(d2). Añade los pares del diccionariod2al diccionariod.d.pop(clave, alternativo): Devuelve del valor asociado a la claveclavedel diccionariody 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 diccionariody lo elimina del diccionario.del d[clave]: Elimina del diccionariodel par con la claveclave.d.clear(): Elimina todos los pares del diccionariodde manera que se queda vacío.
Copia de diccionarios
Existen dos formas de copiar diccionarios:
- Copia por referencia
d1 = d2: Asocia la variabled1el 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 del1ol2afectará al mismo diccionario. - Copia por valor
d1 = dict(d2): Crea una copia del diccionario asociado ad2en 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 del1no afectará al diccionario del2y viceversa.