在Python中更改字符串中的一个字符

在Python中更改字符串中的一个字符

在Python中替换字符串中的字符最简单的方法是什么?


例如:


text = "abcdefg";

text[1] = "Z";

           ^


MMMHUHU
浏览 3144回答 3
3回答

HUX布斯

不要修改字符串。将它们作为列表处理;只有在需要时才将它们转换为字符串。>>> s = list("Hello zorld")>>> s['H', 'e', 'l', 'l', 'o', ' ', 'z', 'o', 'r', 'l', 'd']>>> s[6] = 'W'>>> s['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']>>> "".join(s)'Hello World'Python字符串是不可变的(即它们不能被修改)。确实有很多原因何在。在没有选择之前使用列表,然后再将它们转换为字符串。

慕容708150

最快的方法?有三种方法。对于速度搜索器,我推荐“方法2”。方法1由这回答text = 'abcdefg'new = list(text)new[6] = 'W'''.join(new)与“方法2”相比,这是相当慢的。timeit.timeit("text = 'abcdefg'; s = list(text); s[6] = 'W'; ''.join(s)", number=1000000)1.0411581993103027方法2(快速法)由这回答text = 'abcdefg'text = text[:1] + 'Z' + text[2:]这要快得多:timeit.timeit("text = 'abcdefg'; text = text[:1] + 'Z' + text[2:]", number=1000000)0.34651994705200195方法3:字节数组:timeit.timeit("text = 'abcdefg'; s = bytearray(text); s[1] = 'Z'; str(s)", number=1000000)1.0387420654296875

慕工程0101907

Python字符串是不可变的,您可以通过复制来更改它们。做你想做的事最简单的方法可能是。text = "Z" + text[1:]文本[1:]将文本中的字符串从位置1返回到末尾,位置计数从0开始,因此‘1’是第二个字符。编辑:您可以对字符串的任何部分使用相同的字符串切片技术。text = text[:1] + "Z" + text[2:]或者,如果字母只出现一次,则可以使用下面建议的搜索和替换技术。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python