这是我在这里发布的问题的后续
import random
l = [11.1, 22.2, 33.3, 11.1, 33.3, 33.3, 22.2, 55.5]
l_new = random.choices(l, k=30)
print(l_new)
CCD_ 1使用来自CCD_。我想通过固定random.choice
的种子来每次创建相同的输出。
建议会很有帮助。
获得的输出:运行1:
[33.3, 33.3, 33.3, 33.3, 55.5, 11.1, 11.1, 55.5, 22.2, 11.1, 33.3, 11.1, 55.5, 22.2, 33.3, 22.2, 22.2, 33.3, 55.5, 11.1, 11.1, 55.5, 11.1, 33.3, 11.1, 33.3, 33.3, 22.2, 33.3, 11.1]
运行2:
[22.2, 11.1, 33.3, 55.5, 33.3, 22.2, 33.3, 11.1, 22.2, 11.1, 11.1, 33.3, 33.3, 22.2, 33.3, 22.2, 11.1, 11.1, 55.5, 55.5, 33.3, 11.1, 55.5, 22.2, 33.3, 33.3, 55.5, 22.2, 22.2, 33.3]
预期:
运行1:
[22.2, 11.1, 33.3, 55.5, 33.3, 22.2, 33.3, 11.1, 22.2, 11.1, 11.1, 33.3, 33.3, 22.2, 33.3, 22.2, 11.1, 11.1, 55.5, 55.5, 33.3, 11.1, 55.5, 22.2, 33.3, 33.3, 55.5, 22.2, 22.2, 33.3]
运行2:
[22.2, 11.1, 33.3, 55.5, 33.3, 22.2, 33.3, 11.1, 22.2, 11.1, 11.1, 33.3, 33.3, 22.2, 33.3, 22.2, 11.1, 11.1, 55.5, 55.5, 33.3, 11.1, 55.5, 22.2, 33.3, 33.3, 55.5, 22.2, 22.2, 33.3]
您可以使用random.seed()
import random
l = [11.1, 22.2, 33.3, 11.1, 33.3, 33.3, 22.2, 55.5]
random.seed(1)
l_new = random.choices(l, k=30)
print(l_new)
输出运行1:
[55.5, 55.5, 11.1, 11.1, 22.2, 33.3, 33.3, 33.3, 33.3, 33.3, 33.3, 22.2, 11.1, 11.1, 33.3, 55.5, 55.5, 33.3, 11.1, 33.3, 11.1, 11.1, 11.1, 33.3, 11.1, 55.5, 33.3, 33.3, 22.2, 11.1]
输出运行2:
[55.5, 55.5, 11.1, 11.1, 22.2, 33.3, 33.3, 33.3, 33.3, 33.3, 33.3, 22.2, 11.1, 11.1, 33.3, 55.5, 55.5, 33.3, 11.1, 33.3, 11.1, 11.1, 11.1, 33.3, 11.1, 55.5, 33.3, 33.3, 22.2, 11.1]
此代码每次运行都会生成相同的结果。
如果您使用numpy,则存在numpy.random.seeed()
import numpy
l = [11.1, 22.2, 33.3, 11.1, 33.3, 33.3, 22.2, 55.5]
numpy.random.seed(1)
l_new = list(numpy.random.choice(l, size=30))
print(l_new)
输出运行1:
[33.3, 11.1, 33.3, 11.1, 55.5, 22.2, 11.1, 33.3, 55.5, 11.1, 11.1, 22.2, 33.3, 55.5, 33.3, 33.3, 22.2, 22.2, 33.3, 33.3, 22.2, 33.3, 33.3, 33.3, 11.1, 33.3, 33.3, 33.3, 33.3, 22.2]
输出运行2:
[33.3, 11.1, 33.3, 11.1, 55.5, 22.2, 11.1, 33.3, 55.5, 11.1, 11.1, 22.2, 33.3, 55.5, 33.3, 33.3, 22.2, 22.2, 33.3, 33.3, 22.2, 33.3, 33.3, 33.3, 11.1, 33.3, 33.3, 33.3, 33.3, 22.2]