A ver si me voy aclarando...
Un generador en Python no contiene todas las combinaciones en memoria. Por lo que las va generando en tiempo real. Al no tener un indice cada combinacion, no se puede llamar de forma selectiva a cada uno de ellas. Como si se haria con un arreglo.
Es decir, en un generador no se le puede pedir que nos devuelva la combinacion ubicada en las posiciones: 1, 4, 56, 34, 500, 560, etc...
Y en una matriz no podemos 'guardar' trillones de vectores.
Por ejemplo ¿Como guardar 1.61358778796735e+27 de combinaciones en una matriz?
200 numeros en 20 grupos
Código Python:
Ver originalimport math
math.factorial(200) / (math.factorial(200 - 20) * math.factorial(20))
Resultado:
¿Como puedo decirle? De 1.61358778796735e+27 devuelveme las que te pido segun su posicion ordenada. Pero ¡Ojo!, que no recorra todas ellas para devolver las solicitadas. Ya que de ese modo, podria tardar una semana en darmelas.
Es que no se si estamos hablando de lo mismo
¡Saludos!