Factorización de pitón

Simplemente me gustaría saber la mejor manera de enumerar todos los factores enteros de un número, dado un diccionario de sus factores primos y sus exponentes.
Por ejemplo, si tenemos {2: 3, 3: 2, 5: 1} (2 ^ 3 * 3 ^ 2 * 5 = 360)
Entonces podría escribir:

<code>for i in range(4):
  for j in range(3):
    for k in range(1):
      print 2**i * 3**j * 5**k
</code>

Pero aquí tengo 3 horribles para loops. ¿Es posible abstraer esto en una función dada cualquier factorización como argumento de objeto de diccionario?

Respuestas a la pregunta(5)

Su respuesta a la pregunta