liststart.rst
author amit
Wed, 22 Sep 2010 19:54:27 +0530
changeset 182 ddfb8b89f5bc
parent 178 4c7b906e0d21
child 185 35a3811ca91e
permissions -rw-r--r--
some small changes , especially punctuation
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
178
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
     1
Hello friends and welcome to the tutorial on getting started with
182
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
     2
lists.
178
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
     3
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
     4
 {{{ Show the slide containing title }}}
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
     5
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
     6
 {{{ Show the slide containing the outline slide }}}
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
     7
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
     8
In this tutorial we will be getting acquainted with a python data
182
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
     9
structure called lists.  We will learn :
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
    10
 * How to create lists. 
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
    11
 * Structure of lists.
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
    12
 * Access list elements. 
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
    13
 * Append elements to lists. 
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
    14
 * Deleting elements from lists.
178
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    15
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    16
I hope you have ipython running on your system .
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    17
182
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
    18
List is a compound data type, it can contain data of other data
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
    19
types.List is also a sequence data type, all the elements are in
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
    20
order and there order has a meaning.
178
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    21
182
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
    22
We will first create an empty list with no elements. On your ipython
178
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    23
shell type ::
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    24
182
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
    25
   empty = [] 
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
    26
   type(empty)
178
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    27
   
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    28
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    29
This is an empty list without any elements .
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    30
182
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
    31
* Filled lists
178
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    32
182
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
    33
Lets now define a list, nonempty and fill it with some random elements.
178
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    34
182
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
    35
nonempty = ['spam', 'eggs', 100, 1.234]
178
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    36
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    37
Thus the simplest way of creating a list is typing out a sequence 
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    38
of comma-separated values (items) between square brackets. 
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    39
List items need not all have the same data type.
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    40
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    41
182
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
    42
As you can see lists can contain different kinds of data. In the
178
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    43
previous example 'spam' and 'eggs' are strings and 100 and 1.234
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    44
integer and float . Thus you can put elements of heterogenous types in
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    45
lists.  Thus list themselves can be one of the element types possible
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    46
in lists.  Thus lists can also contain other lists in it .  Example ::
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    47
182
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
    48
      list_in_list=[[4,2,3,4],'and', 1, 2, 3, 4]
178
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    49
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    50
182
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
    51
We access list elements using the number of index. The
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
    52
index begins from 0. So for list,  nonempty , nonempty[0] gives the
178
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    53
first element , nonempty[1] the second element and so on and
182
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
    54
nonempty[3] the last element.::
178
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    55
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    56
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    57
	    nonempty[0] 
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    58
	    nonempty[1] 
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    59
	    nonempty[3]
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    60
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    61
We can also access the elememts from the end using negative indices ::
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    62
   
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    63
   nonempty[-1] 
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    64
   nonempty[-2] 
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    65
   nonempty[-4]
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    66
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    67
-1 being the last element , -2 second to last and -4 being the first
182
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
    68
 element.
178
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    69
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    70
* =append= elements We can append elements to the end of a list using
182
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
    71
append command. ::
178
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    72
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    73
   nonempty.append('onemore') 
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    74
   nonempty.append(6) 
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    75
   nonempty
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    76
   
182
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
    77
As you can see non empty appends 'onemore' and 6 at the end.
178
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    78
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    79
Using len function we can check the number of elements in the list
182
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
    80
nonempty. Because we just appended two elements at the end this
178
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    81
returns us 6.::
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    82
	 
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    83
	 len(nonempty)
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    84
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    85
Just like you can append elements to a list you can also remove them .
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    86
Their are two ways of doing one is by index no. ::
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    87
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    88
      del(nonempty[1])
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    89
182
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
    90
deletes the element at index no.1, i.e the second element of the
178
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    91
list, 'eggs'. The other way is removing element by content. Lets say
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    92
one wishes to delete 100 from nonempty list the syntax of the command
182
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
    93
should be :: 
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
    94
      
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
    95
      a.remove(100)
178
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    96
182
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
    97
but what if their were two 100's. To check that lets do a small
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
    98
experiment. ::
178
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
    99
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
   100
	   a.append('spam') 
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
   101
	   a 
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
   102
	   a.remove('spam') 
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
   103
	   a
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
   104
182
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
   105
If we check a now we will see that the first element 'spam' is removed
178
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
   106
thus remove removes only the first instance of the element by sequence
182
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
   107
and leaves others untouched.
178
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
   108
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
   109
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
   110
{{{Slide for Summary }}}
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
   111
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
   112
182
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
   113
In this tutorial we came across a sequence data type called lists. 
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
   114
 * We learned how to create lists.  
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
   115
 * Append elements to list.
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
   116
 * Delete Element from list.  
ddfb8b89f5bc some small changes , especially punctuation
amit
parents: 178
diff changeset
   117
 * And Checking list length.
178
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
   118
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
   119
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
   120
{{{ Sponsored by Fossee Slide }}}
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
   121
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
   122
This tutorial was created as a part of FOSSEE project.
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
   123
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
   124
I hope you found this tutorial useful.
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
   125
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
   126
Thank You
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
   127
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
   128
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
   129
Author : Amit Sethi 
4c7b906e0d21 Initial commit getting started with lists.
amit
parents:
diff changeset
   130
First Reviewer :