我需要从列表中挑选出x"个非重复的随机数.例如:
all_data = [1, 2, 2, 3, 4, 5, 6, 7, 8, 8, 9, 10, 11, 11, 12, 13, 14, 15, 15]如何选择像 [2, 11, 15] 而不是 [3, 8, 8] 这样的列表?
解决方案这正是 random.sample() 确实如此.
>>>随机样本(范围(1、16)、3)[11, 10, 2]编辑:我几乎可以肯定这不是您所要求的,但我被迫包含此评论:如果您想从中抽取样本的总体包含重复项,则必须将其删除第一:
population = [1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1]人口 = 集合(人口)样本 = random.sample(人口,3)I need to pick out "x" number of non-repeating, random numbers out of a list. For example:
all_data = [1, 2, 2, 3, 4, 5, 6, 7, 8, 8, 9, 10, 11, 11, 12, 13, 14, 15, 15]How do I pick out a list like [2, 11, 15] and not [3, 8, 8]?
解决方案That's exactly what random.sample() does.
>>> random.sample(range(1, 16), 3) [11, 10, 2]Edit: I'm almost certain this is not what you asked, but I was pushed to include this comment: If the population you want to take samples from contains duplicates, you have to remove them first:
population = [1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1] population = set(population) samples = random.sample(population, 3)