我将数据存储在2D数组中,我想从中随机选择。但是,每个数组索引中存储的某些数组比其他数组大,我希望选择的机会与要存储的数据量相关。例如:
[[0]
[1,2,3]
[4,5,6,7]
[8,9]]
因此[4,5,6,7]
被选中的几率为40%。
我唯一想到的方法就是拥有另一个像这样的数组:
[0,1,1,1,2,2,2,2,3,3]
其中数组中元素的数量与所存储数据的长度相关,并且该值表示主数组中的索引。然后,我可以在0-9之间创建一个随机数,并在该数组中查找索引,然后指定要在主数组中使用的索引。不过有点混乱……有人能想到一种更好的方法吗?
仅供参考:我正在使用python。
对于标记为重复的主持人-谢谢,但是假定的duplicate answer并不是像我一样以数组结构开头。如果我的问题的解决方案是创建一种“查找数组”,那很好,但首先,我想探讨是否还有另一种方法,也许无需创建“查找”数组。>