python3,如何实现替换字符串中指定起始位置到结束位置的某一部分

比如有两个字符串:
A = “aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa”
B = “bbbb“
想实现把A中的第5到第8个这四个位置的内容替换成字符串B(前提可保证替换的长度相等)
请问如何实现?


def multi_sub(string, p, c):
    new = []
    for s in string:
        new.append(s)
    for index, point in enumerate(p):
        new[point] = c[index]
    return ''.join(new)


a = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
b = 'bbbb'
c = multi_sub(a, [i for i in range(5, 9)], [i for i in b])
print(c)

 c=A[:5]+B+A[9:]

a = A.replace(A[4: 8], B)
print (a)