如何在Python中替换字符串指定索引位置的字符?
Python替换字符串指定索引字符的方法
在Python里,字符串是不可变对象,所以你没法直接通过original[4] = 'o'这种方式修改某个位置的字符。不过有两种常用的方法可以实现你的需求:
方法1:切片拼接(最常用)
利用字符串切片将原字符串拆分成三部分:目标索引之前的子串、替换字符、目标索引之后的子串,再把它们拼接起来:
original = "My Wurds" modified = original[:4] + 'o' + original[5:] print(modified) # 输出: My Words
解释:
original[:4]取索引0到3的字符(切片是左闭右开),结果是"My W "- 加上替换字符
'o' original[5:]取索引5到末尾的字符,结果是"rds"- 三者拼接后就得到了修改后的字符串
方法2:转列表修改后转回字符串
因为列表是可变类型,我们可以先把字符串转成列表,修改指定索引的元素后,再转回字符串:
original = "My Wurds" str_list = list(original) str_list[4] = 'o' modified = ''.join(str_list) print(modified) # 输出: My Words
解释:
list(original)将字符串拆分为单个字符组成的列表:['M', 'y', ' ', 'W', 'u', 'r', 'd', 's']- 修改索引4的元素为
'o' ''.join(str_list)把列表中的字符重新拼接成字符串
顺便提一句:如果尝试直接修改字符串的索引位置(比如original[4] = 'o'),会触发 TypeError: 'str' object does not support item assignment 错误,这就是字符串不可变性的体现。
内容的提问来源于stack exchange,提问作者Pavel Zagalsky
相关产品推荐
相关产品推荐

