我想通过在python中给出0到1之间的种子来生成固定随机数列表。例如,l = [0.1,0.5,0.6,0.9,0.75]。我可以通过使用random.random()来获得这个。但每次它给出一个新的随机数列表。我想通过给一些种子来修复它。
我该怎么做?提前谢谢!
答案 0 :(得分:3)
[>>> 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)
它总会给出相同的随机列表。