Ich kenne viele Beiträge mit ähnlichen Fragen und habe viele davon durchgemacht. Ich kann jedoch nicht tun, was ich brauche.Aufteilen einer Liste in alle Kombinationen
Ich habe Liste L = [0,1,2,3,4,5], die ich in ein Paar Tupel aufteilen möchte. Beispiel:
[(0,1,2),(3,4,5)]
[(0,1,3),(2,4,5)]
[(0,1,4),(2,4,5)]
...
Jedes Tupel muss die Hälfte der Elemente aus der ursprünglichen Liste enthalten (in diesem Beispiel 3 von 6). Eine Lösung muss jede Kombination von Tupeln mit 3 Elementen erzeugen.
Ich kann alle möglichen Tupel innerhalb der Liste mit
list(itertools.combinations(L, 3))
[(0, 1, 2), (0, 1, 3), (0, 1, 4), (0, 1, 5), (0, 2, 3), (0, 2, 4), ...]
Does itertools
bietet jede workround für diese auch leicht finden?
Es Art auf die davon abhängt, ob alle Listenelemente sind einzigartig und wie Sie behandeln wollen Duplikate. Sie könnten versuchen, 'set' zu verwenden oder alle möglichen Permutationen der ursprünglichen Liste zu erstellen und jede Permutation in zwei Hälften zu teilen. – mkrieger1
Haben Sie einen doppelten Wert in dieser Liste? – Lafexlos
Im Moment gibt es keine Duplikate, aber eine allgemeine Lösung wäre toll – ErroriSalvo