lists

=Lists=

Few words about Python Sequences:
The most basic data structure in Python is the sequence. Each element of a sequence is assigned a number - its position, or index. The first index is zero, the second index is one, and so forth. Python has six built-in types of sequences, but the most common ones are lists and tuples which we would see in this tutorial. There are certain things you can do with all sequence types. These operations include indexing, slicing, adding, multiplying, and checking for membership. In addition, Python has built-in functions for finding the length of a sequence, and for finding its largest and smallest elements. = Python Lists: = 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 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: code list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5 ]; list3 = ["a", "b", "c", "d"]; code || 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:

Example:
code #!/usr/bin/python

list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5, 6, 7 ];

print "list1[0]: ", list1[0] print "list2[1:5]: ", list2[1:5] code || This will produce following result: code list1[0]: physics list2[1:5]: [2, 3, 4, 5] code || = 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:

Example:
code #!/usr/bin/python

list1 = ['physics', 'chemistry', 1997, 2000];

print "Value available at index 2 : " print list1[2]; list1[2] = 2001; print "New value available at index 2 : " print list1[2]; code || **Note:** append method is discussed in subsequent section. This will produce following result: code Value available at index 2 : 1997 New value available at index 2 : 2001 code || = Delete List Elements: = <span style="background-color: #ffffff; font-family: verdana,helvetica,arial,sans-serif; font-size: 11px; text-align: justify;">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.

Example:
code <span style="font-family: 'Courier New',monospace; font-size: 12px;">#!/usr/bin/python

list1 = ['physics', 'chemistry', 1997, 2000];

print list1; del list1[2]; print "After deleting value at index 2 : " print list1; code || <span style="background-color: #ffffff; font-family: verdana,helvetica,arial,sans-serif; font-size: 11px; text-align: justify;">This will produce following result: code <span style="font-family: 'Courier New',monospace; font-size: 12px;">['physics', 'chemistry', 1997, 2000] After deleting value at index 2 : ['physics', 'chemistry', 2000] code || <span style="background-color: #ffffff; font-family: verdana,helvetica,arial,sans-serif; font-size: 11px; text-align: justify;">**Note:** remove method is discussed in subsequent section. = Basic List Operations: = <span style="background-color: #ffffff; font-family: verdana,helvetica,arial,sans-serif; font-size: 11px; text-align: justify;">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. <span style="background-color: #ffffff; font-family: verdana,helvetica,arial,sans-serif; font-size: 11px; text-align: justify;">In fact, lists respond to all of the general sequence operations we used on strings in the prior chapter : = Indexing, Slicing, and Matrixes: = <span style="background-color: #ffffff; font-family: verdana,helvetica,arial,sans-serif; font-size: 11px; text-align: justify;">Because lists are sequences, indexing and slicing work the same way for lists as they do for strings. <span style="background-color: #ffffff; font-family: verdana,helvetica,arial,sans-serif; font-size: 11px; text-align: justify;">Assuming following input: code <span style="font-family: 'Courier New',monospace; font-size: 12px;">L = ['spam', 'Spam', 'SPAM!'] code ||
 * ~ Python Expression ||~ Results ||~ Description ||
 * len([1, 2, 3]) || 3 || Length ||
 * [1, 2, 3] + [4, 5, 6] || [1, 2, 3, 4, 5, 6] || Concatenation ||
 * ['Hi!'] * 4 || ['Hi!', 'Hi!', 'Hi!', 'Hi!'] || Repetition ||
 * 3 in [1, 2, 3] || True || Membership ||
 * for x in [1, 2, 3]: print x, || 1 2 3 || Iteration ||

= Built-in List Functions & Methods: = <span style="background-color: #ffffff; font-family: verdana,helvetica,arial,sans-serif; font-size: 11px; text-align: justify;">Python includes following list functions Compares elements of both lists. || Gives the total length of the list. || Returns item from the list with max value. || Returns item from the list with min value. || Converts a tuple into list. || <span style="background-color: #ffffff; font-family: verdana,helvetica,arial,sans-serif; font-size: 11px; text-align: justify;">Python includes following list methods Appends object obj to list || Returns count of how many times obj occurs in list || Appends the contents of seq to list || Returns the lowest index in list that obj appears || Inserts object obj into list at offset index || Removes and returns last object or obj from list || Removes object obj from list || Reverses objects of list in place || Sorts objects of list, use compare func if given ||
 * ~ Python Expression ||~ Results ||~ Description ||
 * L[2] || 'SPAM!' || Offsets start at zero ||
 * L[-2] || 'Spam' || Negative: count from the right ||
 * L[1:] || ['Spam', 'SPAM!'] || Slicing fetches sections ||
 * ~ SN ||~ Function with Description ||
 * 1 || [|cmp(list1, list2)]
 * 2 || [|len(list)]
 * 3 || [|max(list)]
 * 4 || [|min(list)]
 * 5 || [|list(seq)]
 * ~ SN ||~ Methods with Description ||
 * 1 || [|list.append(obj)]
 * 2 || [|list.count(obj)]
 * 3 || [|list.extend(seq)]
 * 4 || [|list.index(obj)]
 * 5 || [|list.insert(index, obj)]
 * 6 || [|list.pop(obj=list[-1)]]
 * 7 || [|list.remove(obj)]
 * 8 || [|list.reverse]
 * 9 || [|list.sort([func)]]