【发布时间】:2014-05-28 18:36:46
【问题描述】:
我正在使用 random.seed() 来尝试保持 random.sample() 与我从列表中采样更多值相同,并且在某些时候数字会改变.....我认为那个seed() 函数的目的是保持数字不变。
这是我进行的一项测试,以证明它不会保持相同的数字。
import random
a=range(0,100)
random.seed(1)
a = random.sample(a,10)
print a
然后将样本更改得更高,序列会改变(至少对我来说他们总是这样做):
a = random.sample(a,40)
print a
我是一个新手,所以也许这是一个简单的解决方法,但我将不胜感激。 谢谢!
【问题讨论】:
-
您能否提供一个示例输出(来自 print a),说明您得到了什么以及您期望什么?你的问题有点含糊(数字变了?),但听起来这个功能就像我期望的那样工作。
-
值得注意的是,随机样本的子序列本身也是随机样本。因此,您可能应该先抓取 40 元素的样本,然后用切片制作 10 元素的样本。
-
@PaulSeeb 是的,抱歉有点含糊。我应该多解释一下我的最终目标,即以随机顺序从 0 个样本到完整的 100 个样本,不重复。随着我的样本数量增加,序列会在某些时候发生变化。当我用 10 做样本时,我的序列从 [13,84,76,25...] 开始,而 40 的序列给我 [13,83,74,24...] 似乎有些数字保持不变,在某些时候发生的其他变化对我来说似乎很奇怪。
标签: python random sequence seed