从列表中随机选择N个项目,可以重复

时间:2018-02-12 04:41:49

标签: python random

我正在尝试从另一个列表中生成随机项列表b。允许重复。我不能使用random.sample,因为N可以超过列表b中的项目数。
我在下面写了一些代码:

def generate_random_sequence(n):
   population = []
   for i in xrange(n):
       b = random.choice(stuff)
       population.append(b) 

然而,我真的很关心它的性能,因为它会被执行很多次。 Random块中是否有执行此任务的方法?或者是否有更优化的方式来完成这项任务?

1 个答案:

答案 0 :(得分:4)

您可以在random.choice库中使用numpy

In [3]: np.random.choice([1,5,6],10)
Out[3]: array([6, 5, 6, 6, 6, 6, 1, 6, 1, 6])