如何在没有for循环的情况下生成n个随机数

maz*_*e88 8 python random python-itertools

我想在0-9之间生成4个随机整数.我可以使用 for循环轻松实现这一点:

digits = [random.randrange(10) for i in range(4)]
Run Code Online (Sandbox Code Playgroud)

假设有可能,我想知道其他方法产生相同的结果,也许没有直接使用for循环.我正在尝试使用itertools,不起作用:

digits = itertools.repeat(random.randrange(10), 4)
Run Code Online (Sandbox Code Playgroud)

我的问题的主要目的是让自己暴露于其他方法.谢谢.

Cod*_*ing 11

numpy.random.randint(0, 10, size=4)
Run Code Online (Sandbox Code Playgroud)

或者使用itertools

list(map(random.randrange, itertools.repeat(10, 4)))
Run Code Online (Sandbox Code Playgroud)

甚至

list(map(random.randrange, [10]*4))
Run Code Online (Sandbox Code Playgroud)