如何使用random.seed在Python中创建多个不同的初始伪随机数?

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

我使用random.seed在一定次数的迭代中生成伪随机数。但是,使用此方法,对于相同的迭代次数,它每次都会生成相同的初始值。我想知道是否有办法编写代码来生成4个不同的随机初始值,这些值位于参数范围内的不同位置?例如,我的代码如下所示:

import random

N=10
random.seed(N)
vx1 = [random.uniform(-3,3) for i in range(N)]

而每次这将产生起始的vx1[0] = 0.428。有没有办法为它编写代码来生成vx1的四个不同的初始值?所以vx1的初始值可能等于0.428或3个其他值。然后每个初始值在该范围内还将具有以下9个随机数。

python random random-seed
1个回答
1
投票

我认为你对random.seed的作用有一个根本的误解。 “随机”数字生成器实际上是生成伪随机数的确定性系统。种子是可重现的初始状态的标签。它的全部意义在于,将为同一种子生成相同的数字序列。

如果要创建1,000,000个数字的可重复序列,请使用种子:

s = 10
N = 1000000

random.seed(s)
vx1 = [random.uniform(-3, 3) for i in range(N)]

如果您想每次生成不同的序列,请每次使用不同的种子。最简单的方法是不要调用seed

N = 1000000

vx1 = [random.uniform(-3, 3) for i in range(N)]
© www.soinside.com 2019 - 2024. All rights reserved.