Bonjour à tous,

Je possède deux listes (représentant des origines et destinations) de même dimension :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
a = ["A","B","C"]
b = ["D","E","F"]
Et j'aimerais lister toutes les combinaisons possibles deux à deux, telles que :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
a = ["A","B"]
b = ["C","D"]
Ce qui donnerait :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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