满射唯一均匀分布随机选择发生器

2024-05-16 02:05:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我如何实现一个生成器函数来从一个域中生成一些值,这些值应该均匀地随机分布在输出数据的范围内。你知道吗

我希望随机选择的值是唯一的,永远不要再被选择

例如,如果我的范围是:

A, B, C, D, E, F, H, I

我希望在某个迭代中获得E,例如在下一个迭代中获得B,并且永远不会再获得这两个。你知道吗

数据没有预先填充到内存中,因此pop()不是一个解决方案;而且数据量可能非常大,因此预生成和洗牌数据也不是一个解决方案。 所以我想用一个生成函数来生成它们。你知道吗

我考虑过LFSR双射映射函数,但是有更好的解决方案吗?你知道吗


Tags: 数据函数内存解决方案pop双射数据量lfsr