「文字列を変更しないでください。
それらをリストとして扱います。必要な場合にのみ文字列に変換します。
... コードサンプル ...
Python 文字列は不変です (つまり、変更できません)。これには多くの理由があります。選択の余地がなくなるまでリストを使用し、その後でリストを文字列に変換します。」
これはベストプラクティスと見なされますか?
Python には、変更された新しい文字列を返すメソッド (upper()、title()、replace() など) がありますが、新しい文字列を返す挿入メソッドがないのは少し奇妙です。私はそのような方法を逃しましたか?
編集:文字を挿入してファイルの名前を変更しようとしています:
import os
for i in os.listdir('.'):
i.insert(3, '_')
不変性のために機能しません。ただし、文字列の先頭に追加しても問題ありません。
for i in os.listdir('.'):
os.rename(i, 'some_random_string' + i)
Edit2: 解決策:
>>> for i in os.listdir('.'): │··
... os.rename(i, i[:4] + '_' + i[4:])
スライスは確かに素晴らしく、私の問題を解決しますが、新しい文字列を返す insert() メソッドがない理由は論理的な説明ですか?
助けてくれてありがとう。