擅长:python、mysql、java
<p>这不一定是最好的方法,这取决于您正在做什么(出于性能原因),但是您可以使用<code>random.sample</code>,而不是一次使用一个<code>random.choice</code>,然后加入结果。在</p>
<pre><code>>>> import random, string
>>> ''.join(random.sample(string.ascii_uppercase, 6))
'SWUHCK'
>>> ''.join(random.sample(string.ascii_uppercase, 6))
'WUYOMS'
>>> ''.join(random.sample(string.ascii_uppercase, 6))
'PMAHEL'
</code></pre>
<p>一些人在评论中指出,这是<strong>没有替换的抽样</strong>。这意味着不可能有重复的信件。在</p>
<p>如果您想这样做,可以使用@acushner建议的方法:</p>
^{pr2}$
<p>或者@adsmith建议的更快的解决方案:</p>
<pre><code>>>> ''.join(random.sample(string.ascii_uppercase * 6, 6))
</code></pre>
<p>它从一个包含每个字母六个副本的长字符串中无需替换。:)</p>