iterando una clave en una matriz asociativa multidimensional python

Estoy creando dinámicamente una matriz asociativa bidimensional (¿diccionario?)

Estoy tratando de hacer un bucle a través de sus claves, mientras mantengo uno de los índices constantes, así que, por ejemplo, todos los valores asociados a "clave" con "john" en su primer corchete:

myhash['john']['smith'] = "address 1"
myhash['john']['doe'] = "address 2"

¿Cómo puedo obtener todas las claves del hash para cada "clave" manteniendo el primer índice como "John" (quiero todos los apellidos)?

Gracias