假设我有一个已经打乱的numpy数组:
如何确保洗牌后的数组中每个元素都与其他元素相同数量地相邻?
例如,我想要确保数字1在数组中跟随数字2的次数与其跟随数字4的次数相同。对于所有其他数字也是如此。
我们可以假设这个列表是循环的,即第一个项目跟随最后一个项目。
通常情况下,我会发布一些我尝试过的代码,但是对于这个问题,我感到无助。
我能想到的最低效的方法是编写一个函数来计算一个数字跟随另一个数字的次数,然后检查所有计数是否相等。如果不是,则重新洗牌。
但这并不能保证我最终会得到符合平均分布标准的列表。
a = np.array([1,2,3,4,5,6]*6)
np.random.shuffle(a)
如何确保洗牌后的数组中每个元素都与其他元素相同数量地相邻?
例如,我想要确保数字1在数组中跟随数字2的次数与其跟随数字4的次数相同。对于所有其他数字也是如此。
我们可以假设这个列表是循环的,即第一个项目跟随最后一个项目。
通常情况下,我会发布一些我尝试过的代码,但是对于这个问题,我感到无助。
我能想到的最低效的方法是编写一个函数来计算一个数字跟随另一个数字的次数,然后检查所有计数是否相等。如果不是,则重新洗牌。
但这并不能保证我最终会得到符合平均分布标准的列表。