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

问题描述 投票:0回答:1

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

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

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

python random
1个回答
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])
© www.soinside.com 2019 - 2024. All rights reserved.