Primero una pequeña explicación. Un diccionario es una estructura de datos, que guarda una colección de objetos y cada objeto debe de tener una llave (o ID) la cual es única en el diccionario.
Código Python:
Ver original# Creando un diccionario
d = {'a': 1, 'b': 2, 'c': 3}
# Accediendo a un diccionario por llave
print d['a'] # Esto imprime 1
print d['c'] # Esto imprime 3
# Actualizando un valor
print d['b'] # Esto imprime 2
d['b'] = 5
print d['b'] # Esto imprime 5
# Un diccionario puede tener como llave cualquier objeto inmutable
# Pero como valor puede tener cualquier objeto
# Ejemplos:
d = {1: 1, '1': 'adsf'}
print d[1] # 1 como entero
print d['1'] # 1 como string
d = {[1, 2, 3]: 'a'} # Esto va a fallar por que la llave es un objeto mutable
# Pero los valores pueden ser cualquier objeto
d = {'b': [1, 2, 3]}
print d['b'] # Imprime [1, 2, 3]
# Y cuando digo cualquier objeto es literalmente cualquier objeto.
d = {'a': {'aa': 1.1}}
print d['a'] # Esto imprime {'aa': 1.1}
# Para iterar en un diccionario en python 2.x
# puedes usar el metodo iteritems
d = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
for k, v in d.iteritems():
print k, "=>", v
# Mientras que en python 3.x puedes usar el metodo items
d = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
for k, v in d.items():
print(k, "=>" ,v)