擅长:python、mysql、java
<p>使用随机包中的<code>sample</code>函数。在</p>
<pre><code>import random
words = ['why', 'who', 'what', 'why', 'when', 'how']
for i in range(100):
print ''.join(random.sample(words, random.randint(1,4)))
</code></pre>
<p><strong>编辑</strong></p>
<p>如果你不在乎要重复哪个元素</p>
^{pr2}$
<p>如果您不希望在重复的情况下重复此操作</p>
<pre><code> arr = random.sample(words, random.randint(1,4))
# first check if array contains repetetive elements or not
# if contains, go and join the list, otherwise select a random element
# from array and add to that array again
if not [el for el in arr if arr.count(l) > 1]:
arr.append(random.choice(words))
print ''.join(arr)
</code></pre>
<p>您可能还想使用为列表定义的<code>insert</code>方法,它只需将元素插入到列表中所需的索引中。在</p>
<pre><code>arr = random.sample(words, random.randint(1,4))
if not [el for el in arr if arr.count(el) > 1]:
r = random.choice(arr)
index_of_r = arr.index(r)
arr.insert(index_of_r, r)
print ''.join(arr)
</code></pre>
<p>最后一个检查<a href="https://repl.it/@marmeladze1/WingedAuthenticAmurminnow" rel="nofollow noreferrer">this</a>。在</p>