Showing posts with label Lists in python. Show all posts
Showing posts with label Lists in python. Show all posts

Friday, 16 January 2015

Slicing in python


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]

Lists in python


The list is a most versatile datatype available in Python which can be written as a list of comma-separated values (items) between square brackets. Good thing about a list is that items in a list need not all have the same type.
Creating a list is as simple as putting different comma-separated values between squere brackets. For example:
list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
Like string indices, list indices start at 0, and lists can be sliced, concatenated and so on.

Accessing Values in Lists:

To access values in lists, use the square brackets for slicing along with the index or indices to obtain value available at that index. Following is a simple example:
list1= ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5, 6, 7 ]
print "list1[0]: ", list1[0] 

When the above code is executed, it produces the following result:
list1[0]:  physics

Updating Lists:

You can update single or multiple elements of lists by giving the slice on the left-hand side of the assignment operator, and you can add to elements in a list with the append() method. Following is a simple example:
list
= ['physics', 'chemistry', 1997, 2000]; print "Value available at index 2 : " print list[2] list[2] = 2001 print "New value available at index 2 : " print list[2]
Note: append() method is discussed in subsequent section.
When the above code is executed, it produces the following result:
Value available at index 2 :
1997
New value available at index 2 :
2001

Delete List Elements:

To remove a list element, you can use either the del statement if you know exactly which element(s) you are deleting or the remove() method if you do not know. Following is a simple example:
list1= ['physics', 'chemistry', 1997, 2000] 
print list1 del list1[2] 
print "After deleting value at index 2 : " print list1
When the above code is executed, it produces following result:
['physics', 'chemistry', 1997, 2000] After deleting value at index 2 : ['physics', 'chemistry', 2000]