如何从列表中生成5个数字?

时间:2013-06-02 16:21:35

标签: python random python-3.x

我正在尝试从列表中生成5个数字,但我不知道我会怎么做? 我知道如何在随机模块中使用选项,但我希望它从列表中选择多个整数:

randomnumbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

或者我必须手动完成,例如:

num1 = choice(randomnumbers)
num2 = choice(randomnumbers)

依旧......

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:3)

使用random.sample() function

from random import sample
picked = sample(randomnumbers, 5)

这会从输入列表中选择5个不同的数字。

如果允许重复的数字,列表理解将与random.choice进行:

from random import choice
picked = [choice(randomnumbers) for _ in range(5)]

演示:

>>> from random import sample, choice
>>> sample(randomnumbers, 5)
[1, 0, 9, 3, 2]
>>> [choice(randomnumbers) for _ in range(5)]
[1, 6, 5, 5, 0]