x = list(range(2)) l = list(x) l[0:0] = [10] print(l) l = list(x) l[:0] = [10, 20] print(l) l = list(x) l[0:0] = [10, 20, 30, 40] print(l) l = list(x) l[1:1] = [10, 20, 30, 40] print(l) l = list(x) l[2:] = [10, 20, 30, 40] print(l) # Weird cases l = list(x) l[1:0] = [10, 20, 30, 40] print(l) l = list(x) l[100:100] = [10, 20, 30, 40] print(l) # growing by using itself on RHS l = list(range(10)) l[4:] = l print(l)