该 目的 的
random.sample()是选择一个 子集
的输入序列的,随机,无需拾取任何一种元素多于一次。如果您的输入序列没有重复,则您的输出也不会重复。
您 不是 在寻找子集;您需要从输入序列中选择单个随机选择,并重复多次。元素可以多次使用。
random.choice()为此使用循环:
for i in range(y): string = ''.join([random.choice(x) for _ in range(v)]) print string
这将创建一个length的字符串
v,其中from的字符
x可以多次使用。
快速演示:
>>> import string>>> import random>>> x = string.letters + string.digits + string.punctuation>>> v = 20>>> ''.join([random.choice(x) for _ in range(v)])'Ms>V\0Mf|W@R,#/.P~Rv'>>> ''.join([random.choice(x) for _ in range(v)])'TsPnvN&qlm#mBj-!~}3W'>>> ''.join([random.choice(x) for _ in range(v)])'{:dfE;VhR:=_~O*,QG<f'


