我试图创建一个从0到n的连续整数列表,然后从该列表中选取一个randon整数,然后从同一个列表中生成另一个随机整数,其中不包括先前生成的整数。你知道吗
n = 10
a = np.arange(1,n) #Creating my initial list
for b=np.random.choice(a): #Generating my first random number
c=np.random.choice(np.arange(1,b)) or np.random.choice(np.arange(b+1,n))
我知道这行不通,因为我的for循环很不确定。我已经很长时间没有使用python了,而且我刚刚开始一个项目,让自己重新投入到这个项目中去是有点棘手的!你知道吗
另一个答案是:
1)生成初始列表。你知道吗
2)洗牌列表。如果没有库函数来执行此操作,则使用Fisher-Yates shuffle。提示:这里可以节省很多时间。你知道吗
3)从无序排列的列表中选择第一个数字。这是你的初始号码。你知道吗
4)从无序排列的列表中选择第二个数字。这是你的第二个数字,几乎是随机的,与第一个数字不一样。你知道吗
我想你要做的是随机抽样,不需要更换。你知道吗
假设您要选择
k
数字:然后,要在范围
[0, n]
内选取k
随机的非重复数,可以执行以下操作:相关问题 更多 >
编程相关推荐