我是个编码新手,我解决了一个字符串变异的问题,它是关于两个输入,一个位置,一个字符,你用新的字符替换给定位置的字符,我用这个来解决这个问题
def mutate_string(string, position, character):
x = list(string)
x[position] = character
return "".join(x)
但是我被告知使用其他代码,哪个更好,我的问题是为什么它更好?
def mutate_string(string, position, character):
return string[:position] + character + string[position + 1:]
1条答案
按热度按时间xiozqbni1#
字符串在Python中是不可变的。因此,你不能直接替换字符。你解决这个问题的方法需要将字符串转换成列表,执行变异,然后将字符连接回字符串(
''.join(x)
,我在你的函数中没有看到)。因此,使用字符串切片是一种更干净的方法,开销更小。