- ベストアンサー
pythonで命令にない文字列の置換が起こります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
この例だと、iの値が10のときにf.replace("a", "t")が実行されます。 つまり、"It raised abc reason."の中の"a"という部分を全て"t"で置き換えているので、"abc"の部分の"a"以外にも"raised"や"reason"の中の"a"も置き換えてしまっているわけです。 この場合、置き換えたい部分だけを置き換えるにはreplaceは不向きです。他のやり方を考えてください。
その他の回答 (2)
- AsarKingChang
- ベストアンサー率46% (3467/7474)
回答No.2
pythonは使ったことがないので、的外れだったらすいません。 他の言語でも共通の認識として 予約語を使うな!というものがあり、 "true" ← この文字を使ってはいけないのです。 (ちなみ反意語は、false) これ、booleanオブジェクトの一部なので、 好き勝手に使う変数名としては、正しく動いたとしても、 使うべきじゃないので、それも原因の一つとは 考えられます。 #ただ、これが原因だとも確信がないので、的外れの可能性は かなりあるので、さらっと聞き流してもらってもOKです。
質問者
お礼
予約語を使わなければ間違いが発生しにくいというのは、もっともなご指摘だと思いました。回答ありがとうございます。
- wormhole
- ベストアンサー率28% (1626/5665)
回答No.1
>なぜかtrueの要素が変換されてしまいます。 何をもって「trueの要素が変換されている」と判断されたのでしょうか? 少なくとも添付画像のコードと結果では、そういう判断はできないのですけど。 とりあえずはreplace()の仕様の理解が一歩足りないというのはわかりますけど。
質問者
お礼
回答ありがとうございます。
お礼
親切な回答をありがとうございました。よくわかりました。