Программа на Python для написания последовательного ряда с буквенно-цифровыми символами в нем.
Есть ли возможный способ получить этот тип номера с. В питоне. Как называется этот тип системы счисления?
01,...0A,.......ZZ
2 ответа
Текущие предложения неверны. Например, комбинации с заменой не дадут вам AB
а также BA
в то же время только первый. А также permutations
не будет иметь AA
, BB
, так далее.
Вместо этого вы должны использовать itertools.product
,
Например:
import string
import itertools
combinations_generator = itertools.product(string.ascii_uppercase + string.digits,
repeat=2)
combinations = list(map(''.join, combinations_generator))
print(len(combinations))
Это даст вам ровно 1296 комбинаций.
combinations_generator
будет генерировать кортежи как ('A', 'A')
, ('A', 'B')
, так далее.
И с map(''.join, combinations_generator)
мы примем их вместе 'AA'
, 'AB'
, так далее.
Вы можете использовать перестановки, чтобы получить список.
Например
import string
import itertools
series = [''.join(r) for r in itertools.permutations([str(i) for i in range(10)]+[str(c) for c in string.ascii_uppercase], 2)]
print(series)
print(len(series)) # got 1260 here