import itertools

def replace(s1, s2, l):
    lslice = [slice(0, s1.start), s2, slice(s1.stop, s2.start), s1, slice(
        s2.stop, len(l))]
return list(itertools.chain.from_iterable([l[x] for x in lslice]))
Замена двух подсписков в списке