9.1.
Lists
Overview
The list type is a container that holds a number of other objects, in a given order. The list type implements the sequence protocol,
and also allows you to add and remove objects from the sequence.
Creating Lists
To create a list, put a number of expressions in square brackets:
L=[]
L = [expression, ...]
Example:
#!/usr/bin/python
L=[1,2,3,4,5,6,7,8]
list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
listinlist=[1,2,[3,4,5],4,5]
Like string indices, list indices start at 0, and lists can be sliced, concatenated and so on.
Accessing Lists
Lists implement the standard sequence interface; len(L) returns the number of items in the list, L[i] returns the item at index i (the
first item has index 0), and L[i:j] returns a new list, containing the objects between i and j.
Example:
list1 = ['india','australia','south africa','west indies']
print list1[0],"has brighter chances to win the world cup"
print "But may face competition from",list1[2]
Output of the program is:
india has brighter chances to win the world cup
But may face competition from south africa
Looping over Lists
The for-in statement makes it easy to loop over the items in a list:
Example:
#!/usr/bin/python
list1 = ['physics', 'chemistry', 1997, 2000]
for element in list1:
    print element
Output:
physics
chemistry
1997
2000
If you need only the index, use range and len:
To understand this here is an example,
#!/usr/bin/python
list1 = ['physics', 'chemistry', 1997, 2000]
for index in range(len(list1) :
 print index
Output is:
0123
Modifying Lists
We 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:
Example:
#!/usr/bin/python
List1=['a','b',1,'c']
List1[2]='d'
print List1
Output of the program is:
['a', 'b', 'd', 'c']
We can also delete an element from a list by using del operator.
Example:
#!/usr/bin/python
List1=['a','b',1,'c']
del List1[2]
print List1
Output:
['a', 'b', 'c']
Basic List operations
Lists respond to the + and * operators much like strings; they mean concatenation and repetition here too, except that the result is a new
list, not a string.
In fact, lists respond to all of the general sequence operations we used on strings.
Built-in functions
Python includes the following list functions:
1.cmp(list1, list2)
Compares elements of both lists.
2.len(list)
Gives the total length of the list.
3.max(list)
Returns item from the list with max value.
4.min(list)
Returns item from the list with min value.
5.list(seq)
Converts a tuple into list.
Built-in methods
Python includes following list methods
1.list.append(obj)
Appends object obj to list
2.list.count(obj)
Returns count of how many times obj occurs in list
3.list.extend(seq)
Appends the contents of seq to list
4.list.index(obj)
Returns the lowest index in list that obj appears
5.list.insert(index, obj)
Inserts object obj into list at offset index
6.list.pop(obj=list[-1])
Removes and returns last object or obj from list
7.list.remove(obj)
Removes object the obj from list
8.list.reverse()
Reverses the objects of list in place
9.list.sort()
Sorts the objects of list
List len() Method
Description
The len() method returns the number of elements in the list.
Syntax
Following is the syntax for len() method-
  len(list)
Parameters
list - This is a list for which, number of elements are to be counted.
Return Value
This method returns the number of elements in the list.
Example
The following example shows the usage of len() method.
  #!/usr/bin/python3
  list1 = ['physics', 'chemistry', 'maths']
  print (len(list1))
  list2=list(range(5)) #creates list of numbers between 0-4
  print (len(list2))
When we run above program, it produces following result-
  3
  5
List max() Method
Description
The max() method returns the elements from the list with maximum value.
Syntax
Following is the syntax for max() method-
  max(list)
Parameters
list - This is a list from which max valued element are to be returned.
Return Value
This method returns the elements from the list with maximum value.
Example
The following example shows the usage of max() method.
  #!/usr/bin/python3
  list1, list2 = ['C++','Java', 'Python'], [456, 700, 200] print ("Max value element : ",
  max(list1)) print ("Max value element : ", max(list2))
When we run above program, it produces following result-
  Max value element :                Python
  Max value element :                700
List min() Method
Description
The method min() returns the elements from the list with minimum value.
Syntax
Following is the syntax for min() method-
  min(list)
Parameters
list - This is a list from which min valued element is to be returned.
Return Value
This method returns the elements from the list with minimum value.
Example
  The following example shows the usage of min() method.
  #!/usr/bin/python3
  list1, list2 = ['C++','Java', 'Python'], [456, 700, 200] print ("min value element : ",
  min(list1)) print ("min value element : ", min(list2))
When we run above program, it produces following result-
  min value element :                C++
  min value element :                200
List list() Method
Description
The list() method takes sequence types and converts them to lists. This is used to convert a given tuple into list.
Note: Tuple are very similar to lists with only difference that element values of a tuple can not be changed and tuple elements
are put between parentheses instead of square bracket. This function also converts characters in a string into a list.
Syntax
Following is the syntax for list() method-
  list( seq )
Parameters
seq - This is a tuple or string to be converted into list.
                                                                                                                           148
Return Value
This method returns the list.
Example
The following example shows the usage of list() method.
  #!/usr/bin/python3
  aTuple = (123, 'C++', 'Java', 'Python')
  list1 = list(aTuple)
  print ("List elements : ", list1)
  str="Hello World"
  list2=list(str)
  print ("List elements : ", list2)
When we run above program, it produces following result-
  List elements :                [123, 'C++', 'Java', 'Python']
  List elements :                ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
List append() Method
Description
The append() method appends a passed obj into the existing list.
Syntax
Following is the syntax for append() method-
  list.append(obj)
Parameters
obj - This is the object to be appended in the list.
Return Value
This method does not return any value but updates existing list.
Example
The following example shows the usage of append() method.
  #!/usr/bin/python3
  list1 = ['C++', 'Java', 'Python']
  list1.append('C#')
  print ("updated list : ", list1)
When we run the above program, it produces the following result-
  updated list :               ['C++', 'Java', 'Python', 'C#']
                                                                                                                         Python 3
List count() Method
Description
The count() method returns count of how many times obj occurs in list.
Syntax
Following is the syntax for count() method-
  list.count(obj)
Parameters
obj - This is the object to be counted in the list.
Return Value
This method returns count of how many times obj occurs in list.
Example
The following example shows the usage of count() method.
  #!/usr/bin/python3
  aList = [123, 'xyz', 'zara', 'abc', 123]; print ("Count for 123 : ", aList.count(123)) print ("Count for zara : ",
  aList.count('zara'))
When we run the above program, it produces the following result-
  Count for 123 :              2
  Count for zara :                 1
List extend() Method
Description
The extend() method appends the contents of seq to list.
Syntax
Following is the syntax for extend() method-
list.extend(seq)
Parameters
seq - This is the list of elements
Return Value
This method does not return any value but adds the content to an existing list.
Example
The following example shows the usage of extend() method.
  #!/usr/bin/python3
  list1 = ['physics', 'chemistry', 'maths'] list2=list(range(5)) #creates list of numbers between 0-4 list1.extend('Extended
  List :', list2)
  print (list1)
When we run the above program, it produces the following result-
  Extended List :              ['physics', 'chemistry', 'maths', 0, 1, 2, 3, 4]
List index() Method
Description
The index() method returns the lowest index in list that obj appears.
Syntax
Following is the syntax for index() method-
  list.index(obj)
Parameters
obj - This is the object to be find out.
Return Value
This method returns index of the found object otherwise raises an exception indicating that the value is not found.
Example
The following example shows the usage of index() method.
  #!/usr/bin/python3
  list1 = ['physics', 'chemistry', 'maths']
  print ('Index of chemistry', list1.index('chemistry'))
  print ('Index of C#', list1.index('C#'))
When we run the above program, it produces the following result-
  Index of chemistry 1
  Traceback (most recent call last):
     File "test.py", line 3, in
         print ('Index of C#', list1.index('C#'))
  ValueError: 'C#' is not in list
List insert() Method
Description
The insert() method inserts object obj into list at offset index.
Syntax
Following is the syntax for insert() method-
  list.insert(index, obj)
Parameters
           index - This is the Index where the object obj need to be inserted.
           obj - This is the Object to be inserted into the given list.
Return Value
This method does not return any value but it inserts the given element at the given index.
Example
The following example shows the usage of insert() method.
  #!/usr/bin/python3
  list1 = ['physics', 'chemistry', 'maths']
  list1.insert(1, 'Biology')
  print ('Final list : ', list1)
When we run the above program, it produces the following result-
  Final list :                ['physics', 'Biology', 'chemistry', 'maths']
List pop() Method
Description
The pop() method removes and returns last object or obj from the list.
Syntax
Following is the syntax for pop() method-
  list.pop(obj=list[-1])
Parameters
obj - This is an optional parameter, index of the object to be removed from the list.
Return Value
This method returns the removed object from the list.
Example
The following example shows the usage of pop() method.
  #!/usr/bin/python3
  list1 = ['physics', 'Biology', 'chemistry', 'maths']
  list1.pop()
  print ("list now : ", list1)
  list1.pop(1)
  print ("list now : ", list1)
When we run the above program, it produces the following result-
  list now :              ['physics', 'Biology', 'chemistry']
  list now :              ['physics', 'chemistry']
List remove() Method
Parameters
obj - This is the object to be removed from the list.
Return Value
This method does not return any value but removes the given object from the list.
Example
The following example shows the usage of remove() method.
  #!/usr/bin/python3
  list1 = ['physics', 'Biology', 'chemistry', 'maths']
  list1.remove('Biology')
  print ("list now : ", list1)
  list1.remove('maths')
  print ("list now : ", list1)
When we run the above program, it produces the following result-
  list now :            ['physics', 'chemistry', 'maths']
  list now :            ['physics', 'chemistry']
List reverse() Method
Description
The reverse() method reverses objects of list in place.
Syntax
Following is the syntax for reverse() method-
  list.reverse()
Parameters
NA
Return Value
This method does not return any value but reverse the given object from the list.
Example
The following example shows the usage of reverse() method.
  #!/usr/bin/python3
  list1 = ['physics', 'Biology', 'chemistry', 'maths']
  list1.reverse()
  print ("list now : ", list1)
\
When we run above program, it produces following result-
list now :              ['maths', 'chemistry', 'Biology', 'physics']
List sort() Method
Description
The sort() method sorts objects of list, use compare function if given.
Syntax
Following is the syntax for sort() method-
  list.sort([func])
Parameters
NA
Return Value
This method does not return any value but reverses the given object from the list.
Example
The following example shows the usage of sort() method.
  #!/usr/bin/python3
  list1 = ['physics', 'Biology', 'chemistry', 'maths']
  list1.sort()
  print ("list now : ", list1)
When we run the above program, it produces the following result-
  list now :             ['Biology', 'chemistry', 'maths', 'physics']
COMPARE METHOD :
Description
The method cmp() compares elements of two lists.
Syntax
Following is the syntax for cmp() method −
cmp(list1, list2)
Parameters
             list1 − This is the first list to be compared.
             list2 − This is the second list to be compared.
Return Value
If elements are of the same type, perform the compare and return the result. If elements are different types, check to see if they are numbers.
             If numbers, perform numeric coercion if necessary and compare.
             If either element is a number, then the other element is "larger" (numbers are "smallest").
             Otherwise, types are sorted alphabetically by name.
If we reached the end of one of the lists, the longer list is "larger." If we exhaust both lists and share the same data, the result is a tie, meaning that 0 is
returned.
Example
The following example shows the usage of cmp() method.
#!/usr/bin/python
list1, list2 = [123, 'xyz'], [456, 'abc']
print cmp(list1, list2) # OUTPUT  -1
print cmp(list2, list1) #OUTPUT  1
list3 = list2 + [786];
print cmp(list2, list3) OUTPUT  -1