私はPythonでGenetic Algorithmを使って関数の最大値を計算するコードを書いています。これはhereです。Pythonの配列値を変更する
私は、配列の値を変更したい場合は、私はエラーを取得する:この部分の
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
、一度だけ実行して、5行目で配列の値を変更したい場合は「の」プログラムを終了します。
エラー:
crossover_chrom.get_genes()[0][i] = chromosome1.get_genes()[0][i]
TypeError: 'str' object does not support item assignment
いけないあなたは「私はエラーが出る」と思うが、助けのためにはるかに少ない参考になっている これは、特定のインデックスでupercaseする文字を変更する例です。実際にあなたの質問にエラーメッセージを載せるよりも、あなたの問題がありますか? –
申し訳ありませんが、コード – Fatai
を編集しました。 'get_genes()'は特に返されますか? 'numpy'配列か他のデータ型ですか? –