<p>您可以使用<a href="https://docs.python.org/3/tutorial/datastructures.html" rel="nofollow noreferrer">^{<cd1>}</a>方法:</p>
<pre><code>import numpy as np
import random
list = ['Pink', 'Red', 'Green', 'Darkgreen', 'Blue', 'Skyblue'] * 8
loop = np.arange(1,16)
for i in loop:
item = random.sample(list, 3)
print(item)
for i in item:
list.remove(i)
</code></pre>
<p>请注意,将变量命名为已经给内置程序指定的名称,例如<code>list</code>,这被认为是一种不好的做法。最好将您的列表命名为其他名称,例如<code>colors</code>:</p>
<pre><code>import random
colors = ['Pink', 'Red', 'Green', 'Darkgreen', 'Blue', 'Skyblue'] * 8
for i in range(0, len(colors), 3):
item = random.sample(colors, 3)
print(item)
for i in item:
colors.remove(i)
</code></pre>
<h3>更新</h3>
<p>正如@dawg很好地指出的那样,<code>list.remove()</code>方法总是从最靠近列表开头的列表中删除项目,去掉了随机性的概念</p>
<p>我意识到使用索引而不是值更准确,因此使用<code>list.pop()</code>而不是<code>list.remove()</code>:</p>
<pre><code>from random import randint
colors = ['Pink', 'Red', 'Green', 'Darkgreen', 'Blue', 'Skyblue'] * 8
while colors:
lst = [colors.pop(randint(0, len(colors) - 1)) for _ in range(3)]
print(lst)
</code></pre>