Я пытаюсь генерировать k-перестановки (вариации) в лексикографическом (алфавитном) порядке. Например, этот код
import itertools
a = list('ABCD')
k = 2
for c in itertools.combinations(a, k):
for p in itertools.permutations(c):
print "".join(p),
печать
AB BA AC CA AD DA BC CB BD DB CD DC
а я ищу
AB AC AD BA BC BD CA CB CD DA DB DC
Ответ должен быть повторяемым, поэтому sort
не вариант.