J'ai désespérément besoin d'aide pour l'algorithme lorsque je combine des listes dans des listes. En supposant que j'ai la structure de données suivantes:Toutes les combinaisons possibles d'une liste d'une liste
fields = [ ['a1', 'a2', 'a3'], ['b1', 'b2', 'b3'], ['c1', 'c2', 'c3'], ['d1', 'd2', 'd3'] ]
Je suis en train d'écrire un générateur (Python) qui donnera chaque combinaison possible des éléments de telle sorte que le code suivant:
for x in thegenerator(fields): print(x)
donnerait la sortie suivante:
['a1', 'b1', 'c1', 'd1'] ['a1', 'b1', 'c1', 'd2'] ['a1', 'b1', 'c1', 'd3'] ['a1', 'b1', 'c2', 'd1'] ['a1', 'b1', 'c2', 'd2'] ['a1', 'b1', 'c2', 'd3'] ... ['a3', 'b3', 'c3', 'd3']
Cependant, mon état d'esprit est complètement aujourd'hui, je ne peux pas penser comment je peux mieux itérer la structure pour obtenir toutes les combinaisons les plus propres wa y en utilisant Python. Je suis sûr que cela a déjà été fait par quelqu'un, mais après quelques recherches sur google et stack, j'ai renoncé à trouver la bonne combinaison de mots-clés afin de trouver un algorithme approprié pour ce problème.
Des idées quel serait l'algorithme le plus propre à résoudre ce problème?
Vous avez raison. Avait déjà regardé brièvement dans itertools.product, mais apparemment pas assez bien puisque je pensais que la fonctionnalité a fait quelque chose d'un peu différent. Merci! – agnsaft