Pythonで文字列の中の1文字を置き換える最も簡単な方法は?
例えば、以下のようなものです。
text = "abcdefg";
text[1] = "Z";
^
文字列を修正してはいけません。
リストとして扱い、必要なときだけ文字列にしてください。
>>> s = list("Hello zorld")
>>> s
['H', 'e', 'l', 'l', 'o', ' ', 'z', 'o', 'r', 'l', 'd']
>>> s[6] = 'W'
>>> s
['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
>>> "".join(s)
'Hello World'
Pythonの文字列は不変です(つまり変更できません)。 これには多くのの理由があります。 仕方なくリストを使い、それを文字列に変えるだけです。
new = text[:1] + 'Z' + text[2:]
Pythonの文字列は不変であり、コピーを作成することで変更することができます。
あなたがやりたいことを実現する最も簡単な方法は、おそらく
text = "Z" + text[1:]
text[1:]はtextの位置1から最後までの文字列を返し、位置は0から数えるので '1'は2番目の文字になります。
を編集することができます。 文字列の任意の部分に同じ文字列切り出しの手法を使うことができます
text = text[:1] + "Z" + text[2:]
また、その文字が一度しか出てこない場合は、以下のような検索と置換の手法が使えます。 以下に