以下为我做测试的部分代码:
for i in range(100): #随机生成10个父代
all.append(random.randint(0,500)) #随机生成父代的基因号
all=list(set(all))
value=0
global flag
for i in range(len(all)):
for j in range(8):
if(not(source[all[i]][j]==1)):
value+=1
values.append(all[i])
values.append(value)
lis.append(values)
print (values)
values=[]
lis=np.array(lis)
lis[np.lexsort(lis.T)]
# print(lis)
source为一个包含501个8位数组的列表,我随机一百个数之后逐个判断对应的source中的数组每位是不是1,如果不是就误差值加一。数组编号和数组总误差值丢进lis列表中排序。现在逻辑似乎有点混乱,无法抓到准确的value。