0

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 ではなく整数でなければなりません

4

2 に答える 2