如何生成具有相同长度的随机数的列表列表

时间:2018-02-22 03:12:31

标签: python list random

如何生成随机列表?我可以使用以下[random.sample(range(80), 20)]生成随机列表。

您可以使用*功能制作列表列表,但每个列表的数字不是随机的。我可以找到有关创建随机列表的答案,这些列表产生可变长度,但我找不到任何能产生相同长度的随机数的东西。

1 个答案:

答案 0 :(得分:2)

这是一种方法,假设您需要几个相同类型的随机样本。

首先,为了整洁,而不是必要,咖喱 random.sample使用functools partial,以便为了这个例子,它产生一个大小为5的整数样本从0到9(包括0和9),每次调用它。

然后只需使用list comprehension来生成这些样本的集合。

>>> import random
>>> from functools import partial
>>> one_sample = partial(random.sample, range(10), 5)
>>> one_sample()
[2, 8, 0, 5, 6]
>>> sample = [one_sample() for _ in range(3)]
>>> sample
[[9, 6, 7, 2, 0], [5, 8, 9, 6, 7], [5, 0, 6, 7, 3]]