El tipo de dato diccionario de Python es parecido al que se puede encontrar en otros lenguajes bajo el nombre de Arrays Asociativos. A diferencia de las secuencias donde los índices son números, los diccionarios están indexados por claves. Las claves solo podrán ser de algún tipo de dato inmutable (números y strings).
Un diccionario consiste por tanto en un conjunto de pares clave-valor, donde las claves son inmutables, mientras que los valores pueden ser de cualquier tipo.
Un diccionario se crea encerrando entre llaves ({}) una lista de pares clave-valor.
>>> usuario = {'login': 'fferrer', 'uid': 501 } >>> usuario {'login': 'fferrer', 'uid': 501} >>> usuario ['login'] 'fferrer' >>> usuario ['uid'] 501
Las operaciones habituales con diccionarios son la de almacenar y extraer algún valor con su correspondiente clave, pero también es posible eliminar algún elemento con la función del().
A la hora de recorrer un diccionario será importante tener una lista de sus claves para poder acceder a los valores. El método keys() aplicado a un objeto de tipo diccionario, devolverá dicha lista.
>>> usuario {'login': 'fferrer', 'uid': 501} >>> usuario.keys() ['login', 'uid'] >>> del usuario ['uid'] >>> usuario {'login': 'fferrer'}
En la siguiente tabla se exponen algunos de los principales métodos que se pueden usar con objetos del tipo diccionario.
Tabla 10.4. Métodos Pre-definidos de un diccionario
dict.clear() | elimina todos los elementos del diccionario dict |
dict.get(clave,[default]) | devuelve el valor de la clave o lo que definamos por defecto si la clave no se encuentra en el diccionario |
dict.has_key(clave) | devuelve 1 si la clave se encuentra en el diccionario. En cualquier otro caso devuelve 0. |
dict.items() | devuelve una lista de pares de tuplas clave-valor. |
dict.keys() | devuelve una lista de claves |
dict.values() | devuelve la lista de valores |
dict.update(dict2) | añade los pares clave-valor del diccionario dict2 al diccionario dict |