删除字符串中指定编号字符

删除字符串中指定编号字符

删除字符串s中的第i位

def delestr(s, i):
if(i == 0):
s = s[1:]
if(i > 0 and i < len(s) - 1):
s = s[:i] + s[-(len(s) - (i + 1)):]
if(i == len(s) - 1):
s = s[:len(s) - 1]
return s
print(delestr('abcdef', 4))

运行结果及报错内容

PS D:\学习资料\测试代码/test.py
abcd

后面两个if应该改为elif,否则可能有多个if满足条件
s = s[:i] + s[-(len(s) - (i + 1)):]
现在i是4,那么这行就是s = s[:i] + s[-1:],这是你想要的吗?


def delestr(s, i):
    if i == 0:
        x = s[1:]
    if 0 < i < len(s) - 1:
        x = s[:i] + s[i+1:]
    if i == len(s) - 1:
        x = s[:len(s) - 1]
    return x


print(
    delestr('abdcef', 4)
    )

直接这样不就好了


return s[:i] + s[i+1:];