Python lists don't do that. It's something numpy
arrays do:
In [123]: import numpy as np
In [124]: c = np.array([1,2,3,4,5,6])
In [125]: c
Out[125]: array([1, 2, 3, 4, 5, 6])
In [126]: a = c[3:6]
In [127]: a
Out[127]: array([4, 5, 6])
In [128]: c[4] = 9
In [129]: c
Out[129]: array([1, 2, 3, 4, 9, 6])
In [130]: a
Out[130]: array([4, 9, 6])
You could do that with Python lists if each element was also a list or any mutable object:
>>> c = [[1], [2], [3], [4], [5], [6]] # list of lists
>>> a = c[3:6]
>>> a
[[4], [5], [6]]
>>> c[4].append(9)
>>> c
[[1], [2], [3], [4], [5, 9], [6]]
>>> a # has also changed
[[4], [5, 9], [6]]
>>> c[4].pop(0) # remove the first element of c[4]
5
>>> a
[[4], [9], [6]]
>>>
But you can't "overwrite" the value of c[4], only change it. Hence, works only with mutable objects that are themselves being changed.
>>> c[4] = 0
>>> c
[[1], [2], [3], [4], 0, [6]]
>>> a # does not have the 0, retains previous value
[[4], [9], [6]]
>>>