簡単な文字列置換を行うために次のコードを試しました:
X = "hello world"
X.replace("hello", "goodbye")
がX
から に変更されないのはなぜですか?"hello world"
"goodbye world"
ベストアンサー1
それの訳はPythonでは文字列は不変である。
つまり、X.replace("hello","goodbye")
リターンはX
置き換えたコピーそのため、次の行を置き換える必要があります。
X.replace("hello", "goodbye")
次の行を追加します:
X = X.replace("hello", "goodbye")
より広く、これは文字列の内容を変更するすべてのPython文字列メソッドに当てはまります。たとえばreplace
、、、/ 、、...strip
translate
lower
upper
join
使用したい場合は、その出力を何かに割り当てる必要があります捨てないで、例えば
X = X.strip(' \t')
X2 = X.translate(...)
Y = X.lower()
Z = X.upper()
A = X.join(':')
B = X.capitalize()
C = X.casefold()
等々。