Использование itertools.product
даст вам то, что вы хотите, и вы можете циклически перебирать многие, МНОГИЕ комбинации с любой скоростью, которую хотите. Вот пример того, как эффективно сгенерировать все комбинации:
import itertools
alphabet = "abcdefghijklmnopqrstuvwxyz"
length = 5
alphabets = [alphabet] * length
combos_generator = itertools.product(*alphabets)
print(len(list(combos_generator)))
Обратите внимание, что количество комбинаций будет 26 ^ num_letters, или, в данном случае, более 11 миллионов комбинаций всего для 5-буквенных слов (от aaaaa до zzzzz). Если вы действительно хотите получить к ним эффективный доступ, используйте доступ в стиле Interator:
for combo in combos_generator:
<do something, output to file, etc>
...
Happy Coding!