我正在尝试从另一个列表中生成随机项列表b。允许重复。我不能使用random.sample,因为N可以超过列表b中的项目数。
我在下面写了一些代码:
def generate_random_sequence(n):
population = []
for i in xrange(n):
b = random.choice(stuff)
population.append(b)
然而,我真的很关心它的性能,因为它会被执行很多次。 Random块中是否有执行此任务的方法?或者是否有更优化的方式来完成这项任务?
答案 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])