Bonjour à tous,
Je possède deux listes (représentant des origines et destinations) de même dimension :
1 2
| a = ["A","B","C"]
b = ["D","E","F"] |
Et j'aimerais lister toutes les combinaisons possibles deux à deux, telles que :
c = [["AD","BE","CF"], ["AD","BF","CE"], ["AE","BD","CF"], ["AE","BF","CD"], ["AF","BD","CF"], ["AF","BE","CE"]]
Autre exemple (plus simple, pour comprendre la logique ciblée) :
1 2
| a = ["A","B"]
b = ["C","D"] |
Ce qui donnerait :
c = [["AC","BD"], ["AD","BC"]]
Le nombre de combinaisons possibles pour des listes de 4 dimensions est 4x3x2x1 (24), de 3 dimensions est 3x2x1 (6), etc.
J'ai fait plusieurs tests, mais je n'arrive pas à construire l'algorithme qui fonctionne quelque soit la dimension de mes deux listes et sans créer de redondance (["AC","BD"] et ["BD","AC"]).
Je vous remercie par avance pour votre aide !
Adrien
Partager