修复了0到1之间的种子随机数

时间:2016-06-25 17:30:03

标签: python python-3.x random

我想通过在python中给出0到1之间的种子来生成固定随机数列表。例如,l = [0.1,0.5,0.6,0.9,0.75]。我可以通过使用random.random()来获得这个。但每次它给出一个新的随机数列表。我想通过给一些种子来修复它。

我该怎么做?提前谢谢!

2 个答案:

答案 0 :(得分:3)

查看random.seed()

的pydocs页面
[>>> seed = 123
[>>> random.seed(seed)
[>>> i = [random.random() for _ in xrange(5)]
[>>> print i
[0.052363598850944326, 0.08718667752263232, 0.4072417636703983, 0.10770023493843905, 0.9011988779516946]

调用上述内容每次都会返回相同的列表。换句话说,输出是确定性的和可预测的。

请注意,Python 3用户必须使用[random.random() for _ in range(5)]

答案 1 :(得分:0)

你可以这样做:

import random
l = []
n = 10      # you can change it to whatever you want, it is list length
for i in range(n):
    random.seed(i)
    l += [random.random()]

print(l)

它总会给出相同的随机列表。