Это не совсем то, о чем вы просите, но если вы хотите использовать 4-символьные "последовательные" строки, позвольте мне предложить гораздо более простой подход. Почему бы просто не использовать базовые 36 номеров? То есть, ваши числа go из 0, 1, 2, ... A, B, C, ... Z, 10, 11, 12, ... 1Z, ...
Затем для преобразования одной из базовых 36 строк в int это просто:
n = int('12AV', 36)
И для преобразования int в базовую строку n:
def baseN(num, base, numerals="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"):
return ((num == 0) and numerals[0]) or (baseN(num // base, base, numerals).lstrip(numerals[0]) + numerals[num % base])
Собираем все вместе:
n = int('12AV', 36)
s = baseN(n + 1, 36)
print(s)
Отпечатки:
12AW
Вы можете, конечно, начать с 'A001', если вам нужно. Затем вы будете go до A00Z
после 35 итераций. В итоге вы получите те же числа, что и в исходном методе, но в другом порядке.