# array[start:stop:step]
# start = include everything STARTING AT this idx (inclusive)
# stop = include everything BEFORE this idx (exclusive)
# step = (can be ommitted) difference between each idx in the sequence
arr = ['a', 'b', 'c', 'd', 'e']
arr[2:] => ['c', 'd', 'e']
arr[:4] => ['a', 'b', 'c', 'd']
arr[2:4] => ['c', 'd']
arr[0:5:2] => ['a', 'c', 'e']
arr[:] => makes copy of arr
word = "Example"
# Obtain the first 3 characters of "Example"
# E x a m p l e
# 0 1 2 3 4 5 6
# First 3 characters = "Exa"
sliced_word = word[:3] # Gives you "Exa"
# Everything after character #3 = "mple"
second_sliced_word = word[3:] # Gives you "mple"
a[::-1] # all items in the array, reversed
a[1::-1] # the first two items, reversed
a[:-3:-1] # the last two items, reversed
a[-3::-1] # everything except the last two items, reversed
The basic rules of slice are:
I'''
The slice generates index/integers from - start, start + step, start +
step + step, and so on. All the numbers generated must be less than
the stop value when step is positive.'''
II'''
If step value is missing then by default is taken to be 1 '''
III'''
If start value is missing and step is positive then start value is by default
taken as 0.'''
IV'''
If stop value is missing and step is positive then start value is by
default taken to mean till you reach the ending index(including the
ending index)'''
V'''
A negative step value means the numbers are generated in
backwards order i.e. from - start, then start - step, then start -step
-step and so on. All the numbers generated in negative step must
be greater than the stop value.'''
VI'''
If start value is missing and step is negative then start value takes default
value -1'''
VII'''
If stop value is missing and step is negative then stop value is by
default taken to be till you reach the first element(including the 0
index element)'''
a[start:stop:step] # start through not past stop, by step
l = ["a", "b", "c", "d", "e", "f", "g", "h", "i"]
x = slice(3)
print(l[x])
#gets the first three elemnets from list(array) l.
a[-1] # last item in the array
a[-2:] # last two items in the array
a[:-2] # everything except the last two items