Samples_num = np.random.randint(0,high = len(data), size = nSamples)
Te_data_num=[]
for n in range(len(data)):
if n not in Samples_num:
Te_data_num.append(n)
len(data)和nSamples都是我已经给定了的,分别为150和100.
我的目的是想从0~150中先随机选择100个数存到Samples_num中,然后把剩下的50个数存到Te_data_num中。
但是结果Te_data_num中数的个数并不是50,而是八十多,这是怎么回事呢?请高人指教!谢谢!
------解决方案--------------------
楼主这么干,150个数,shuffle之后直接切片赋值
- Python code
>>> import random >>> a = range(151) >>> random.shuffle(a) >>> Samples_num = a[:100] >>> Te_data_num = a[101:] >>> len(Samples_num) 100 >>> len(Te_data_num) 50 >>>