 Python has array index and array slicing expressions on lists, denoted as a [key], a [start: stop] or a [start: stop: step]. Indexes are zero-based, and negative indexes are relative to the end. Slices take elements from the start index up to, but not including, the stop index. The third slice parameter, called step or stride, allows elements to be skipped and reversed. Slice indexes may be omitted, for example a [:] returns a copy of the entire list. Each element of a slice is a shallow copy.
