Python で文字列の一文字だけを変換







例えば,文字列の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

このブログについて

IAtLeX です.ブログをはじめてさほど時間がたっていないので,未熟な内容が多々あるかと思いますが,それも時間が解決してくれるはず...Python系の記事を着々と充実させていきたいです.投稿主についてはこちらを参照してください.

このブログについて - http://iatlex.com/about_blog/

コメントを残す

*