随机不相同的12位代码Python

随机不相同的12位代码Python,python,Python,我有一个python脚本,如下所示 def id_generator(size=12, chars=string.ascii_lowercase + string.digits): return ''.join(random.choice(chars) for _ in range(size)) 我如何生成它,直到它充满所有可能,而不输出相同的东西两次? 我需要12个a-z/0-9的随机字符,并且需要填充所有的可能性。谢谢如果您希望看到12位字符串的所有排列,请尝试一下 def id_g

我有一个python脚本,如下所示

def id_generator(size=12, chars=string.ascii_lowercase + string.digits):
   return ''.join(random.choice(chars) for _ in range(size))
我如何生成它,直到它充满所有可能,而不输出相同的东西两次?
我需要12个a-z/0-9的随机字符,并且需要填充所有的可能性。谢谢

如果您希望看到12位字符串的所有排列,请尝试一下

def id_generator(size=12, chars=string.ascii_lowercase + string.digits):
   return ''.join(random.choice(chars) for _ in range(size))

from itertools import permutations
perms = [''.join(p) for p in permutations(id_generator())]

如果要输出一个大小字符字符串,其中字符串中的每个字符都是唯一的(因此不会重复),可以使用以下方法:

import random
import string

def id_generator(size=12, chars=string.ascii_lowercase + string.digits):
    chars = list(chars)
    random.shuffle(chars)
    return ''.join(chars[:size])

你能对这将产生的数十亿结果做些什么?使用
随机。洗牌
并迭代第一个
大小
元素?如果你想得到所有可能的结果,为什么不直接列出它们,比如从
aaaaaaaaaaaaa
开始,然后
aaaaaaaaaa b
<代码>aaaaaaaa 9,
aaaaaaaaaa ba
…?请您定义或重新表述“完全填充所有可能性”1/如果您希望生成所有可能的案例,为什么要使用随机?它有可能永远不会发生。2./所有可能意味着36^12,即4738133838383821616896。。。