我有一份48项的清单。我想随机挑选其中的3个项目,然后从列表中删除这3个项目。之后,随机挑选3个新项目。我希望循环16次,直到所有项目都被删除
我试过一个for循环。但我不知道如何删除那些从列表中随机选择的特定项目。我对Python和编程都是新手。非常感谢您的帮助
list_ = ['Pink', 'Red', 'Green', 'Darkgreen', 'Blue', 'Skyblue'] * 8
loop_ = np.arange(0, 16)
for i in loop:
print(random.sample(list_, 3))
您可以使用^{} 方法:
请注意,将变量命名为已经给内置程序指定的名称,例如
list
,这被认为是一种不好的做法。最好将您的列表命名为其他名称,例如colors
:更新
正如@dawg很好地指出的那样,
list.remove()
方法总是从最靠近列表开头的列表中删除项目,去掉了随机性的概念我意识到使用索引而不是值更准确,因此使用
list.pop()
而不是list.remove()
:np.arange(1,16)
的长度为15,但要循环16次。此外,避免在列表中存在重复项时使用list.remove,即使它可能不会在您的特定问题中造成问题。最后,如上所述,避免使用“list”作为名称,因为Python已经使用了它。 下面是我的建议,处理索引并使用list.pop(0)方法:您还可以使用list.pop(index)方法
.pop(index)方法做两件事。它返回列表给定索引处的元素。然后从列表中删除该元素
在.pop()函数中,我们有以下内容:随机选择一个数字(即索引)该选择是一个介于0和列表长度(独占)之间的数字列表
相关问题 更多 >
编程相关推荐