Lets sagen, dass ich die folgenden Listen habe:Kombinationen zwischen den Werten von Listen
letters = ['a','b','c']
numbers = ['one','two']
others = ['here','there']
Und ich möchte alle möglichen compinations aller Werte. Ich mache folgendes:
from itertools import permutations
b = []
b.extend(letters)
b.extend(numbers)
b.extend(others)
result1 = list(permutations(b,2))
Die Ergebnisse sind in Ordnung. Aber was ich genauer wissen will, ist, die "Arten" von Compinations zu kennen. Zum Beispiel Ergebnis sollte sein:
('a','b','letters-letters')
oder
('a','one','letters-numbers')
('one','a','letters-numbers')
ich den folgenden Code verwenden:
from itertools import product
result2=[]
result2.extend([x+('letter-letter',) for x in list(permutations(letters ,2))])
result2.extend([x+('number-number',) for x in list(permutations(numbers,2))])
result2.extend([x+('other-other',) for x in list(permutations(others,2))])
result2.extend([x+('number-letter',) for x in list(product(numbers,letters))])
result2.extend([x+('number-letter',) for x in list(product(letters,numbers))])
result2.extend([x+('number-others',) for x in list(product(numbers,others))])
result2.extend([x+('number-others',) for x in list(product(others,numbers))])
result2.extend([x+('letters-others',) for x in list(product(letters,others))])
result2.extend([x+('letters-others',) for x in list(product(others,letters))])
Gibt es eine schnelle, elegante Art und Weise, dies zu tun?