【发布时间】:2022-08-03 17:50:42
【问题描述】:
我正在使用 numpy 的random.choise 来获取范围(0,1000)内的 n 个整数,其中不能选择两次相同的整数(替换 = 假)。
但是由于每个整数都是具有一定长度(例如- 10)的子列表的起点,我希望随机函数不从已经选择的整数中选择任何其他整数 +- 10。
使用 p= 参数是不可能的,因为我事先不知道将选择哪个 n\'s。 (可以使用一个循环 - 每次迭代都将新选择的整数中的 +-10 个整数添加到分配概率为 0 的概率列表中,但在我看来,这不是最佳解决方案......)
例如:
myseries = list(range(1000))
n = 30
blockRange = 10
np.random.choice(myseries, n, replace=False)
这将返回 30 个数字,其中两个是 33 和 37 - 但我想“禁止”这个(如果有 33,则不应允许 24 到 42 之间的数字!)
谢谢
标签: python numpy random combinations probability