ich habe ein "kleines" Anliegen.
Es existieren die Listen
Code: Alles auswählen
a = [1,2,3,4]
b = [5,6,7,8]
Code: Alles auswählen
c = a + b
Ich möchte nun die Einträge untereinander vertauschen:
Code: Alles auswählen
import itertools
combinations = list(iterools.permutations(c)
Im Anwendungsfall arbeite ich allerdings mit zwei Listen der Länge 10. Das liefert in den Permutationen 20! Möglichkeiten ...
Verrückt.
Jetzt habe ich aber den Luxus von Regeln. Es sind nicht alle Kombinatoriken erlaubt.
In den Permutationen dürfen die Zahlen von a oder b nicht vertauscht werden.
Folgende Ergebnisse für das Beispiel sind also legitim:
Code: Alles auswählen
combination1 = [1,2,3,4,5,6,7,8]
combination2 = [1,2,3,5,4,6,7,8]
combination3 = [1,2,5,3,6,4,7,8]
Die Längen der Inputs sind dabei immer irgendwo zwischen 8 und 12. Insgesamt also eine Länge von 16 - 24.
Gibt es eine variable Möglichkeit diesen Sachverhalt umzusetzen?
Habe selbst leider keine vernünftige Idee mehr.