我使用的是python-3.x,我正在尝试对一个二进制字符串进行突变,该字符串会随机地将元素的一个位从0翻转到1或1到0,我尝试了一些方法,但没有成功,我不知道问题出在哪里:
x=[0, 0, 0, 0, 0]
def mutation (x, muta):
for i in range(len(x)):
if random.random() < muta:
x[i] = type(x[i])(not x[i])
return x,
print (x)
例如,输出应该是x=[0,0,0,1,0]或x=[1,0,0,0,0]等等…
我也试过这个:
MUTATION_RATE = 0.5
CHROMO_LEN = 6
def mutate(x):
x =""
for i in range(CHROMO_LEN):
if (random.random() < MUTATION_RATE):
if (x[i] == 1):
x += 0
else:
x += 1
else:
x += x[i]
return x
print(x)
号
如有任何建议或建议,我们将不胜感激。
type(x[i])(not x[i])是怎么回事?
x[i]的值