Producto cartesiano de un diccionario de listas
Estoy tratando de escribir un código para probar el producto cartesiano de un grupo de parámetros de entrada.
He mirado aitertools
, pero esproduct
a función @ no es exactamente lo que quiero. ¿Hay una manera simple y obvia de tomar un diccionario con un número arbitrario de claves un número arbitrario de elementos en cada valor, y luego generar un diccionario con la próxima permutación?
Entrada
options = {"number": [1,2,3], "color": ["orange","blue"] }
print list( my_product(options) )
Salida de ejemplo:
[ {"number": 1, "color": "orange"},
{"number": 1, "color": "blue"},
{"number": 2, "color": "orange"},
{"number": 2, "color": "blue"},
{"number": 3, "color": "orange"},
{"number": 3, "color": "blue"}
]