python-3.x 字符串变异练习的解法差异说明

9udxz4iz  于 2022-11-19  发布在  Python
关注(0)|答案(1)|浏览(157)

我是个编码新手,我解决了一个字符串变异的问题,它是关于两个输入,一个位置,一个字符,你用新的字符替换给定位置的字符,我用这个来解决这个问题

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:]
xiozqbni

xiozqbni1#

字符串在Python中是不可变的。因此,你不能直接替换字符。你解决这个问题的方法需要将字符串转换成列表,执行变异,然后将字符连接回字符串(''.join(x),我在你的函数中没有看到)。因此,使用字符串切片是一种更干净的方法,开销更小。

相关问题