Slicing in List


☞ List Slice refers to a part of a list containing some contiguous elements from the list.

Syntax :
 L1 [beg_index : end_index : step]

Slicing a list using slicing operator [::]

Example :
 
L = [10, 20, 30, 40, 50, ["A", "B", "C", "D"], (100, 200, 300, 400), 60, 70 ]
print(L[2:7])
print(L[2:15])
print(L[2:-2])
print(L[-5:7])
print(L[-5:20])
print(L[-2:7:-1])
print(L[1:8:2])
Output :
 
[30, 40, 50, ['A', 'B', 'C', 'D'], (100, 200, 300, 400)]
[30, 40, 50, ['A', 'B', 'C', 'D'], (100, 200, 300, 400), 60, 70]
[30, 40, 50, ['A', 'B', 'C', 'D'], (100, 200, 300, 400)]
[50, ['A', 'B', 'C', 'D'], (100, 200, 300, 400)]
[50, ['A', 'B', 'C', 'D'], (100, 200, 300, 400), 60, 70]
[]
[20, 40, ['A', 'B', 'C', 'D'], 60]

Reversing a list using slicing operator [::]

Example :
 
L = [10, 20, 30, 40, 50, ["A", "B", "C", "D"], (100, 200, 300, 400), 60, 70 ]
print(L[8:0:-1])      #10 will not include
print(L[8::-1])
print(L[len(L)::-1])
print(L[::-1])
print(L[20::-1])
Output :
 
[70, 60, (100, 200, 300, 400), ['A', 'B', 'C', 'D'], 50, 40, 30, 20]
[70, 60, (100, 200, 300, 400), ['A', 'B', 'C', 'D'], 50, 40, 30, 20, 10]
[70, 60, (100, 200, 300, 400), ['A', 'B', 'C', 'D'], 50, 40, 30, 20, 10]
[70, 60, (100, 200, 300, 400), ['A', 'B', 'C', 'D'], 50, 40, 30, 20, 10]
[70, 60, (100, 200, 300, 400), ['A', 'B', 'C', 'D'], 50, 40, 30, 20, 10]