рекурсивная генерация.Обратите внимание, что размер файла для комбинаций 5/2 составляет 117 МБ
17 576 000
значений (10^2 * 26^3 * C(5,2)
)
data = 'abcdefghijklmnopqrstuvwxyz0123456789'
def genld(s, maxlen, digs, digcnt):
le = len(s)
if (le == maxlen):
#print(s)
my_file.write(s + "\n")
else:
lo = 0 if (maxlen - le > digs - digcnt) else 26
hi = 26 if (digcnt == digs) else 36
for i in range(lo, hi):
genld(s + data[i], maxlen, digs, digcnt + i // 26)
my_file = open("out.txt", "w")
genld('', 5, 2, 0)
my_file.close()