Diccionarios

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