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

标签 python random random-seed

我使用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 个范围内的随机数。

最佳答案

我认为您对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)]

关于python - 如何在Python中使用random.seed创建多个不同的初始伪随机数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55595896/

相关文章:

c - 掷7位数以上的骰子

python - RandomizedSearchCV 使用相同的 random_state 给出不同的结果

python - 不同等级的 Matmul

python - 计算 2D NumPy 数组的每一行和每一列中的非零元素

python - 不小心覆盖了Python中的 "random"类。现在无法使用任何随机。功能

python - 生成随机且唯一的索引,其范围为 n 个组合

multithreading - Julia 1.5.2并行启动随机数选择

写入文件时将 Python unicode 转换为 ASCII

python - 通过 Web Web 应用程序开发

java - Android:当点击按钮时->随机字符串