【问题标题】:Why is string.replace in Python not working? [duplicate]为什么 Python 中的 string.replace 不起作用? [复制]
【发布时间】:2022-12-11 13:15:25
【问题描述】:

我有以下 python 字符串:

game="""+-------+-------+-------+
|       |       |       |
|   1   |   2   |   3   |
|       |       |       |
+-------+-------+-------+
|       |       |       |
|   4   |   5   |   6   |
|       |       |       |
+-------+-------+-------+
|       |       |       |
|   7   |   8   |   9   |
|       |       |       |
+-------+-------+-------+
"""

这被认为是 str 仍然,我使用以下内容将 "5" 替换为 "X"

game.replace("5","X")

然后我打印输出并仍然得到:

+-------+-------+-------+
|       |       |       |
|   1   |   2   |   3   |
|       |       |       |
+-------+-------+-------+
|       |       |       |
|   4   |   5   |   6   |
|       |       |       |
+-------+-------+-------+
|       |       |       |
|   7   |   8   |   9   |
|       |       |       |
+-------+-------+-------+

【问题讨论】:

  • Python 字符串是不可变的,.replace 返回一个新的细绳。
  • .replace 不是就地操作。使用game = game.replace('5','X')

标签: python


【解决方案1】:

你可能正在做的是

game="sample string 5"
game.replace("5", "X")

这不会起作用,因为 python 字符串是不可变的并且 .replace() 不会修改原始字符串,它会返回一个新字符串

修理:

game = game.replace("5, "X")

简单说一下字符串在 Python 中是不可变的——它只是意味着它们在程序运行期间不能改变。

【讨论】:

  • 正确我忘记了这一点。
【解决方案2】:

我认为您正在打印错误的字符串。您需要直接打印 game.replace('5','X') 或使用中间变量。

【讨论】:

  • 啊谢谢你让我想起了一些不好的更新这个
猜你喜欢
  • 2013-03-05
  • 1970-01-01
  • 1970-01-01
  • 2013-02-03
  • 1970-01-01
  • 2023-03-09
  • 2021-11-03
  • 1970-01-01
相关资源
最近更新 更多