gpt4 book ai didi

python - 为什么不调用字符串方法(如 .replace)修改(变异)字符串?除非我分配结果,否则为什么它不会改变?

转载 作者:IT老高 更新时间:2023-10-28 12:31:19 25 4
gpt4 key购买 nike

我尝试做一个简单的字符串替换,但我不知道为什么它似乎不起作用:

X = "hello world"
X.replace("hello", "goodbye")

我想把hello这个词改成goodbye,所以应该把字符串"hello world"改成"goodbye世界”。但是 X 仍然是 "hello world"。为什么我的代码不起作用?

最佳答案

这是因为字符串在 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()

等等。

关于python - 为什么不调用字符串方法(如 .replace)修改(变异)字符串?除非我分配结果,否则为什么它不会改变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9189172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com