如何实现生成器函数以从域中生成一些值,这些域应在输出数据范围内均匀地随机分布。
我希望随机选择的值是唯一的,永远不要再次选择
例如,如果我的范围是:
A, B, C, D, E, F, H, I
我希望在某个迭代中获得E
,例如在下一个迭代中获得B
,而再也不会获得这两个。
数据未预先存储在内存中,因此pop()
不是解决方案;而且数据量可能非常大,因此预先生成和改组数据也不是解决方案。
所以我想使用一个生成器函数来生成它们。
我考虑过LFSR
双射映射功能,但是对此有更好的解决方案吗?