list = [11,12,13,14,15]
s = slice(0,len(list) % 4)
print(list[s])
print(list[-1])
print(list[-3:-1]) # [2:4] 3,4,5
print(list[-3:0]) # [2:0] cannot go to 0 position
print('------------------------------') # print('-' * 30)
print(list[-99:-1]) # step1:max(0,n+(i)) | step 2: max(0,5+(99))
print(list[2:-99]) # step1: max(0,n+(ending value))|step 2: max(0,5+(99))
print('-' * 30)
print(list[0:-1])
print(list[-1]) # position
print(list[0:99]) # list[0:5]
print(list[99::]) # list[5:]
print(list[99:])
print('------------------------------') # print('-' * 30)
print(list[None:5]) # starting value is None or missing, starting value = 0
print(list[1:None]) # ending value is None or Missing, ending value = n
print(list[::])
print(list[:])
print('------------------------------') # print('-' * 30)
print(list[-99:5:2])
print(list[99:0:-1]) # starting value > n & stepping = -ve, starting value = n-1
print(list[1:99:-1]) # ending value > n & stepping = -ve, ending value n-1 => empty list
print(list[:1:-1]) # starting value is missing / None & stepping = -ve, starting = n-1
print(list[3::-2]) # ending value is missing/None & stepping = -ve, ending value = -1 -(stepping)
print('------------------------------') # print('-' * 30)
print(list[-99:1:-1]) # stating value = -ve & stepping = -ve, starting value = max(0, n + starting value
print(list[4:-5:-1]) # ending value & stepping < 0, ending value = max(0, n + ending value)
print('------------------------------') # print('-' * 30)
print(list[::-1]) # print list reversal
print(list)
del list[:2]
print(list)
print('------------------------------') # print('-' * 30)
str = "Hello world & Happy New Year"
str = str[5::3]
print(str)
str = "Hello world & Happy New Year"
new_str = str[:6] + " HK " + str[6:]
print(new_str)
print('------------------------------') # print('-' * 30)
list = [1,2,3,4,5]
list.insert(3,[1,2,3])
print(list)