def subshift(L, start, end, insert_at):
    """Nick Craig-Wood"""
temp = L[start:end]
L = L[:start] + L[end:]
return L[:insert_at] + temp + L[insert_at:]

def unbeli(x, start, end, at):
    """unbeli"""
x[at:at] = x[start:end]
x[start:end] = []

def subshift2(L, start, length, pos):
    """PaulP.R.O."""
temp = pos - length
S = L[start:length + start]
for i in range(start, temp):
    L[i] = L[i + length]
for i in range(0, length):
    L[i + temp] = S[i]
return L

def shift(L, start, n, i):
    """vivek"""
return L[:start] + L[start + n:i] + L[start:start + n] + L[i:]
Fastest way to reposition sublist in python