克服“缺点”字符串不变性
我想更改特定字符串索引的值,但不幸的是
string[4] = "a"
引发了 TypeError
,因为字符串是不可变的(“不支持项目分配”)。
因此,我使用相当笨拙的方法
string = string[:4] + "a" + string[4:]
是否有更好的方法来做到这一点?
I want to change the value of a particular string index, but unfortunately
string[4] = "a"
raises a TypeError
, because strings are immutable ("item assignment is not supported").
So instead I use the rather clumsy
string = string[:4] + "a" + string[4:]
Is there a better way of doing this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
Python 中的字符串是不可变的,就像数字和元组一样。这意味着您可以创建它们、移动它们,但不能更改它们。为什么会这样呢?出于以下几个原因(您可以在网上找到更好的讨论):
如果你稍微浏览一下 Python 网络,你会注意到“如何更改我的字符串”最常见的建议是“设计你的代码,这样你就不必改变它”。很公平,但是还有什么其他选择呢?这里有一些:
抄袭自我自己的关于 Python 见解的页面 :-)
The strings in Python are immutable, just like numbers and tuples. This means that you can create them, move them around, but not change them. Why is this so ? For a few reasons (you can find a better discussion online):
If you look around the Python web a little, you’ll notice that the most frequent advice to "how to change my string" is "design your code so that you won’t have to change it". Fair enough, but what other options are there ? Here are a few:
Plagiarized from my own page on Python insights :-)