首页 > 解决方案 > 如何在python随机模块中获取未选择的人口

问题描述

所以,我知道我可以使用 random 模块从总体中获取随机列表,

l = [0, 1, 2, 3, 4, 8 ,9]

print(random.sample(l, 3))
# [1, 3, 2]

但是,我如何获得未选择的列表?我需要手动从列表中删除它们吗?或者,有没有办法得到它们?

编辑:示例中的列表 l 多次不包含相同的项目,但是当它包含时,我不希望它被删除超过它被选为样本。

标签: pythonlistrandom

解决方案


因为您的列表可以包含多个相同的项目,您可以更改为以下方法:

import random

l = [0, 1, 2, 3, 4, 8 ,9]

random.shuffle(l)
selected = l[:3]
unselected = l[3:]

print(selected)
# [4, 0, 1]
print(unselected)
# [8, 2, 3, 9]

推荐阅读