Estoy tratando de escribir algún código para probar el producto cartesiano de un conjunto de parámetros de entrada.Producto cartesiano de un diccionario de listas
He visto itertools
, pero su función product
no es exactamente lo que quiero. ¿Hay una manera simple y obvia de tomar un diccionario con un número arbitrario de claves y un número arbitrario de elementos en cada valor, y luego generar un diccionario con la siguiente permutación?
de entrada:
options = {"number": [1,2,3], "color": ["orange","blue"] }
print list(my_product(options))
Ejemplo de salida:
[ {"number": 1, "color": "orange"},
{"number": 1, "color": "blue"},
{"number": 2, "color": "orange"},
{"number": 2, "color": "blue"},
{"number": 3, "color": "orange"},
{"number": 3, "color": "blue"}
]
Estoy bastante seguro de que no necesita ninguna biblioteca para hacer esto, pero no conozco Python lo suficiente como para responder. Supongo que las listas de comprensión son el truco. –
Pregunto si existe un generador ya hecho que se pueda adaptar fácilmente para hacer algo como esto. Las comprensiones de listas no son relevantes. –