Я хочу сделать что-то, что принимает len (char) и переставляет каждую комбинацию из всех букв + цифр.
До сих пор я получил свой код, чтобы сделать это, но в моем случае из1679616 возможных комбинаций (36 ** 4), только около 1061340 из них не являются дубликатами (запускает его один раз), и я не могу понять, как повторить его, пока не получится всего 1679616 комбинаций.
Я пытался изменять цикл цикла каждый раз, когда он получает дубликат, но это заставляет цикл занимать до 20 часов, поэтому я предпочитаю этого не делать.Я пробовал множество других способов, но все не удалось.Вместо использования random, я хочу в конечном итоге пройтись по каждому элементу и найти каждую отдельную комбинацию, но у меня тоже не получилось.
import random
elements = [A-Z, 0-9]ect
code1 = ""
perms = []
actualperms = []
for e in range(6718464):
code1 += random.choice(elements)
if len(code1) == 4:
code = "VLSC" + code1.upper() + "FE12"
perms.append(code)
code1 = ''
for elm in perms:
if elm not in actualperms:
actualperms.append(elm)
with open('code.json', 'w') as outfile:
json.dump(acutalcombos, outfile)
Выходные данные показывают только 1100000 перестановок, но мне нужно всего 36** 4.Это также занимает много времени для экспорта в формате JSON, поэтому, если есть более быстрый способ, пожалуйста, скажите мне.
Кроме того, я знаю, что мой код крайне неэффективен, я начал пару месяцев назад