1

这是我到目前为止所拥有的。是为了做功课。我们不能使用切片。我似乎无法弄清楚。

def insert(s1, s2, pos):
    s3 = list(s1)
    for i,s in enumerate(s3):
        if i == pos:
            s3[pos + 1] = s
            s3[i] = s2
    "".join(s3)     
    return s3

使用上述方法,字符串的最后一个字符s1被删除,并且该join方法不会加入s3单个字符串。

4

1 回答 1

3

注意线条

"".join(s3)     
return s3

如果您查看join 文档,您会发现 join 不会修改其参数,而是生成一个包含参数列表内容的字符串,所有内容都连接在一起。所以你扔掉了结果

"".join(s3)

并返回s3(列表)。因此,您需要将最后两行更改为

return ''.join(s3)

由于这是作业,我不会对其余代码发表评论,但返回 join 调用的结果肯定会有所帮助。

于 2012-04-14T00:35:56.897 回答