例えば,文字列の4番目の文字を削除したいとします.その時,直観的に次のように変更しようとするとエラーになります.次の例は,4文字目を大文字のDに置き換えようとしてエラーになるプログラムです.
s = 'abcdefghij' print(s[3]) #これはオッケー s[3] = 'D' #ここでエラー
これの解決策としてスライス(:)を使います.例えば上のように4番目の文字を変えたい場合は次のようにします.
s = 'abcdefghij' t = t[:3] + 'D' + s[4:]
一般化して,「sという文字列の前からn番目の文字をXに変える」ということは
s = s[:n-1] + 'X' + s[n:]
とすればよいわけですね.
一度文字列をリスト型に変更してから,一部を変更して,joinという関数で戻す方法もあるようだが,行数的にシンプルにできるこちらを使わせていただくことにしました.
参考サイト:Change one character in a string in Python? – Stack Overflow