Let 'a' is a list having element 1-10 as shown below
>>> a = range(1,11)
>>> a
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
How exactly does slicing work is
a[Starting index : Ending index]
Which means it picks the list from the starting index to the last but one of the Ending index
it doesnt consider the element in the ending index position
>>> a[0:3]
[1, 2, 3]
We know when the index is negative number it reads the list from rightside
>>> a[-2]
9
If the Ending index is not provided then the whole list from the starting index is considered
>>> a[-2:]
[9, 10]
>>> a[0:]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
In the same way if starting index is not provided, the list is considered from 0 to the ending index
>>> a[:-1]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
If the starting index is greater than the ending index, no list is printed
>>> a[-2:-5]
[]
>>> a[3:0]
[]
In order to print the whole list, simply give the colon without starting and ending index
>>> a[:]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> a[0:]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Copying a list
In order to copy a list into a list but not referencing the list, this is how we do it>>> b = a[:]
So now any operation performed on a doesnt reflect on b
>>> del(a[9])
>>> a
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> b
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
No comments:
Post a Comment