如何获得连续的随机子样本?

时间:2019-05-29 15:08:46

标签: python random

我的目标是从列表中随机抽取一个样本,然后从新列表中抽取一个样本,直到列表中仅剩一个项目为止。

代码:

TABLE_2(FRUIT, START_RANGE, END_RANGE)

2 个答案:

答案 0 :(得分:0)

您可以使用for循环:

from random import sample, seed

seed(0)  # set the seed

chosen = [exampleList[:]]  # start with a copy of the original list

for n in range(len(exampleList)-1, 0, -1):
    chosen.append(sample(chosen[-1], n))  # successively append samples
print(chosen)
#[['Gary', 'Kerry', 'Larry', 'Bob', 'Frank', 'Joshua'],
# ['Bob', 'Joshua', 'Gary', 'Kerry', 'Larry'],
# ['Kerry', 'Gary', 'Joshua', 'Larry'],
# ['Gary', 'Joshua', 'Kerry'],
# ['Joshua', 'Gary'],
# ['Joshua']]

您初始化输出列表以包含原始列表的副本。然后从nlen(exampleList) - 1循环1的值,并从输出列表的最后一个元素中获取该大小的样本。

答案 1 :(得分:0)

您可以使用while循环:

ret = []
while len(exampleList) > 1:
    ret.append(exampleList)
    exampleList = reduce(exampleList)
ret.append(exampleList)