Python怎么产生有序的固定的一组5个随机数出来,具体到代码谢谢
可以用 numpy 模块的随机数,直接生成一个长度固定的随机数组,参考 demo:
import numpy as np
datacount=5
datas=np.random.randint(0,50,size=datacount)
print ' ------len--------------'
print datas
思路是先生成学生列表,然后生成x个不同的随机数做下标,从列表中抽取学生,从第3轮开始,生成的随机数列表扩大,从随机列表取剔除前两轮抽取到的学生,剔除完以后取前x个做为本轮抽取结果,给个例子做参考,
import random
n = 50
x = 10
students = [f'name{i}' for i in range(50)]
print(students)
names_1 = [students[a] for a in random.sample(range(0,50),x)]
names_2 = [students[a] for a in random.sample(range(0,50),x)]
names_3 = [students[a] for a in random.sample(range(0,50),30) if (students[a] not in names_1 and students[a] not in names_2)][:10]
names_4 = [students[a] for a in random.sample(range(0,50),30) if (students[a] not in names_2 and students[a] not in names_3)][:10]
names_5 = [students[a] for a in random.sample(range(0,50),30) if (students[a] not in names_3 and students[a] not in names_4)][:10]
print(names_1)
print(names_2)
print(names_3)
print(names_4)
print(names_5)