Я пытаюсь сгенерировать 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
не подходит.