Qual gerador de itertools não pula nenhuma combinação?

Quando executo este código, não obtenho todas as combinações possíveis de 3 caracteres:

<code>def comb(iterable, r):
    pool = tuple(iterable)
    n = len(pool)
    for indices in permutations(range(n), r):
        if sorted(indices) == list(indices):
            yield tuple(pool[i] for i in indices)
def start():
    for x in comb("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ12234567890!@#$%^&*?,()-=+[]/;",3):
        print x
</code>

Em vez disso, pula alguns. Quando eu repeti os personagens 3 vezes, eu peguei todas as combinações que eu precisava, mas eu consegui várias vezes. Isso leva o triplo do tempo e não é o que eu quero. Eu vou estar calculando milhões de combinações, então eu preciso saber uma alternativa para repetir os personagens.

questionAnswers(1)

yourAnswerToTheQuestion