Python で 2 次元マトリックス (小さなシーケンスのシーケンスで表される) のデータを変更しようとしています。マトリックス値は、最初に "0.0" に初期化されます (以下のコードでは "current" として示されています)。実際のデータ ポイントを含む 2 番目の 2 次元マトリックスがありますが、これらのデータ ポイントは「.」、「C」、および「H」で表されます。基本的にこれらの文字を適切な値に変換するために以下のコードを作成しましたが、「str オブジェクトはアイテムの割り当てをサポートしていません」というエラーが発生します。文字列が不変であることはわかっていますが、文字列の個々の文字を変更するのではなく、文字列全体を削除しています。コードは次のとおりです。
for rline in range(len(lineAppend)):
for cline in range(len(lineAppend)):
if lineAppend[rline][cline]==".":
#print "is dot"
lineAppend[rline][cline] == 0.0
#lineAppend.remove(".")
#ineAppend.insert("0.0")
elif lineAppend[rline][cline]=="C":
lineAppend[rline][cline] == 25.0
elif lineAppend[rline][cline]=="H":
lineAppend[rline][cline] == 100.0
lineAppend は、テキスト ファイルを読み取ることによって埋められる行列です。各行を読み取り、シーケンスとして保存するだけです。個々のインデックスを上記の値に変更しようとしていますが、文字列が不変であるために発生するエラーが引き続き発生します。データを目的の値に変更する他の方法はありますか?
トレースバックは次のとおりです。
Traceback (most recent call last):
File "/home/Desktop/python_projects/temp.py", line 172, in <module>
main()
File "/home/Desktop/python_projects/temp.py", line 169, in main
read_config("plate.txt")
File "/home/Desktop/python_projects/temp.py", line 110, in read_config
if lineAppend[rline][cline]==".":
TypeError: リストのインデックスは str ではなく整数でなければなりません