# HG changeset patch # User Shantanu # Date 1272367069 -19800 # Node ID 751cb19549c8c3e78a49e4b0f64076d18866523e # Parent 6388eacf7502029530fcb616354e5b5e1384fb8d Added lists.org. diff -r 6388eacf7502 -r 751cb19549c8 lists.org --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lists.org Tue Apr 27 16:47:49 2010 +0530 @@ -0,0 +1,117 @@ +* Lists +*** Outline +***** Lists +***** Tuples +***** Arsenal Required +*** Script + Welcome friends. + + In this tutorial we shall look at Data structures supported by + Python. We shall look at Lists and Tuples. We have already seen + lists in some of previous sessions, here we shall cover more + details about them. + + 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. + + First lets start the interpreter by typing ipython in terminal. + We create our first list by typing + num = [1, 2, 3, 4] + Items enclosed in square brackets separated by comma + constitutes a list. + One neat feature of Python list is we can store data belonging + to multiple kind of data structures. We can have a list with + something: + var = [1, 1.2, 'string'] + print var + and with this list we can perform most of list operations. + Python lists are very versatile, that is we can change it as we + wish. It supports features like removal, addition. + + Similar to strings, we can concatenate two lists using '+' + operator + so num + var will return a new list with 'var' added in end of + 'num' + We have already covered append functionality. + To add single object at end of list 'append' function is used + num + num.append(-5) + num + append takes only one argument. And append behaves different + from + operator. While + will return new list with two lists + added if we try similar with append function like: + num.append([9, 10, 11]) + num + It changes original list and add the argument as one element + and not separate elements. + To extend list with new list elements we use 'extend' function + num = [1, 4, -6] + num.extend([2, 8, 0]) + num + As we can notice extend and append behaves differently. + To reverse a list 'reverse' function is available. + num + This is current content of list + num.reverse() + Now after using reverse function, lets check the value of 'num' + num + To remove a particular element from list Python provides remove + num.reverse(8) + if argument is present more than once, then first occurrence is + removed from list. + + Slicing and Striding concepts which we covered for Arrays work + with lists also. Lets revisit the concept with some examples + a = [1, 2, 3, 4, 5] + a[1:3] returns a list with second and third element of a + One important feature of list indexing is negative values. In + Lists -1 indicates last element of a list + a[-1] + similarly -2 will be second last and so forth. Now these + negative indexes can also be used with slicing. If we try + a[1:-1] + we get list which excludes first and last element of a. + and if we miss start/end index value default are taken + a[:3] will return list from start till fourth element of a. + If we give step size we can do striding also + a[1:-1:2] + This gives second, fourth and so on items of a till we reach + last item of list. + a[::2] will skip all the even placed elements of a + With step sizes, if we give negative values we get some + interesting results. Lets try + a[::-1] + It returns reversed 'a' + We can check for containership also with lists + num + 4 in a + True + + Python provides support to special immutable lists known as + 'tuple' To create a tuple instead of square brackets'[' we have + to use normal brackets '(' + t = (1, 2, 3, 4, 5, 6, 7, 8) + its elements can also be accessed using indexes + t[0] + t[3] + t[-1] + but operation like + t[4] = 7 are not allowed + These features of tuples have their advantages. To see where + are they used we first create two variables + a, b = 1, 6 + print a, b + Now lets swap values their values. Normal approach would be + to create a temporary to hold the value but because of tuples + we can do something cool like + b, a = a, b + print a, b + and values are swapped. And this swapping works for all types + of variables. + + With this we come to the end of this tutorial on Lists and + tuples. In this tutorial we have learnt some more operations + on lists and tuples. In next session we will cover more on + Python supported data structures. Thank you! + +*** Notes