While this code will raise indexError:
In [1]: lst = [1, 2, 3]
In [2]: lst[3]
IndexError: list index out of range
Slicing the list with "out of range index" will not produce any error.
In [3]: lst[3:]
Out[3]: []
What is the rationale of this design?