저는 파이썬에서 유전 알고리즘을 사용하여 함수의 최대 계산을위한 코드를 작성했습니다. 이것은 here입니다. 내가 배열의 값을 변경하려면파이썬에서 배열 값을 변경하십시오.
, 나는 오류 얻을 : 한 번만 실행 '을 위해',이 부분에
def _crossover_chromosomes(chromosome1,chromosome2):
crossover_chrom = Chromosome()
for i in range(8):
if random.random() >= 0.5:
crossover_chrom.get_genes()[0][i] = chromosome1.get_genes()[0][i]
crossover_chrom.get_genes()[1][i] = chromosome1.get_genes()[0][i]
else:
crossover_chrom.get_genes()[0][i] = chromosome2.get_genes()[0][i]
crossover_chrom.get_genes()[1][i] = chromosome2.get_genes()[0][i]
return crossover_chrom
을 그리고 다섯 번째 줄에 배열 값을 변경하고자하는 경우 , 프로그램을 종료합니다.
오류 :
crossover_chrom.get_genes()[0][i] = chromosome1.get_genes()[0][i]
TypeError: 'str' object does not support item assignment
그나마 당신이 "나는 오류가"생각이 돕는 훨씬 덜 helpfull이다 이 특정 인덱스에 자리수의하는 문자를 변경하는 예입니다 귀하의 질문에 실제로 오류 메시지를 넣는 것보다 문제가 있습니까? –
죄송합니다, 코드를 편집했습니다 – Fatai
'get_genes()'가 특별히 돌려주는 것은 무엇입니까? 'numpy' 배열 또는 다른 데이터 유형입니까? –