【发布时间】:2017-01-01 14:32:57
【问题描述】:
我有一个固定的对象列表(几乎它实际上来自数据库),我希望能够一次选择一个元素,并且在执行所有元素集之前永远不要选择之前看到的一个元素 知道该怎么做吗?
它与获得 randint(0, N) 但知道最后选择有关。我可以强制种子吗?
编辑
我应该更明确一点。对此感到抱歉。 当我向我的视图/函数发出请求时,我每次只得到一个元素。
在下一个请求中,我只想传递我得到的最后一个作为参数,并从同一个列表中随机获取另一个。但是由于 python 使用某种线性同余生成器 (u_1 = f(u_0) ) ,我希望能够用我的旧值播种它以获得下一个值。它不需要在统计上是完美的,而是大致随机的
def f(old = None):
l = range(100)
some_number = ??(l, old)
return some_number
【问题讨论】:
-
如果您想要选择而不替换,请从集合中删除任何已选择的元素。
-
您的编辑毫无意义。所以基本上它可以选择 1 然后 2,然后 1,然后 2 ......只有 1 深度记忆不选择。
-
我已尝试在编辑中考虑新请求,但我不确定您现在究竟想要什么。
-
@Jean-FrançoisFabre:如果你有一个线性随机生成器,它确实有意义。获得下一个随机数只需要前一个。这是我想使用但我不知道它是否暴露的特定属性
标签: python django django-models