ordenar diccionario por longitud de clave [duplicar]

Posible duplicado:
Clasificación del diccionario por longitud de clave

Necesito usar el diccionario para "buscar y reemplazar". Y quiero que primero use las claves más largas.

Así que eso

text = 'xxxx'
dict = {'xxx' : '3','xx' : '2'} 
for key in dict:
    text = text.replace(key, dict[key])

debe devolver "3x", no "22" como está ahora.

Algo como

for key in sorted(dict, ???key=lambda key: len(mydict[key])):

Simplemente no se puede obtener lo que está dentro.
¿Es posible hacer en una cadena?

Respuestas a la pregunta(1)

Su respuesta a la pregunta