basic_python/list_tuples.rst
author Madhusudan.C.S <madhusudancs@gmail.com>
Thu, 20 Aug 2009 04:21:45 +0530
changeset 4 000a414fc3b7
child 5 dbc118349011
permissions -rw-r--r--
Added a file for Lists and Tuples session.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     1
Lists and Tuples
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     2
================
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     3
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     4
Python provides an intuitive way to represent a group items, called *Lists*. The
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     5
items of a *List* are called its elements. Unlike C/C++, elements can be of any
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     6
type. A *List* is represented as a list of comma-sepated elements with paren-
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     7
thesis around them::
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     8
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     9
  >>> a = [10, 'Python programming', 20.3523, 23, 3534534L]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    10
  >>> a
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    11
  [10, 'Python programming', 20.3523, 23, 3534534L]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    12
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    13
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    14
Common List Operations
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    15
----------------------
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    16
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    17
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    18
Indexing
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    19
~~~~~~~~
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    20
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    21
Individual elements of a *List* can be accessed using an index to the element.
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    22
The indices start at 0. One can also access the elements of the *List* in reverse
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    23
using negative indices.::
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    24
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    25
  >>> a[1]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    26
  'Python programming'
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    27
  >>> a[-1]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    28
  3534534L
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    29
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    30
It is important to note here that the last element of the *List* has an index of
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    31
-1.
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    32
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    33
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    34
Concatenating
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    35
~~~~~~~~~~~~~
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    36
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    37
Two or more *Lists* can be concatenated using the + operator::
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    38
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    39
  >>> a + ['foo', 12, 23.3432, 54]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    40
  [10, 'Python programming', 20.3523, 'foo', 12, 23.3432, 54]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    41
  >>> [54, 75, 23] + ['write', 67, 'read']
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    42
  [54, 75, 23, 'write', 67, 'read']
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    43
  
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    44
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    45
Slicing
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    46
~~~~~~~
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    47
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    48
A *List* can be sliced off to contain a subset of elements of the *List*. Slicing
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    49
can be done by using two indices separated by a colon, where the first index is
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    50
inclusive and the second index is exclusive. The resulting slice is also a *List*.::
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    51
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    52
  >>> num = [1, 2, 3, 4, 5, 6, 7, 8, 9]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    53
  >>> num[3:6]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    54
  [4, 5, 6]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    55
  >>> num[0:1]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    56
  [1]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    57
  >>> num[7:10]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    58
  [7, 8, 9]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    59
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    60
The last example showed how to access last 3 elements of the *List*. There is a 
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    61
small catch here. The second index 10 actually refers to the 11th element of the
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    62
*List* which is still valid, even though it doesn't exist because the second 
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    63
index is exclusive and tells the Python interpreter to get the last element of
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    64
the *List*. But this can also be done in a much easier way using negative indices::
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    65
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    66
  >>> num[-3:-1]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    67
  [7, 8, 9]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    68
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    69
Excluding the first index implies that the slice must start at the beginning of 
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    70
the *List*, while excluding the second index includes all the elements till the
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    71
end of the *List*. A third parameter to a slice, which is implicitly taken as 1
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    72
is the step of the slice. It is specified as a value which follows a colon after
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    73
the second index::
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    74
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    75
  >>> num[:4]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    76
  [1, 2, 3, 4]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    77
  >>> num[7:]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    78
  [8, 9]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    79
  >>> num[-3:]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    80
  [7, 8, 9]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    81
  >>> num[:]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    82
  [1, 2, 3, 4, 5, 6, 7, 8, 9]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    83
  >>> num[4:9:3]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    84
  [5, 8]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    85
  >>> num[3::2]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    86
  [4, 6, 8]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    87
  >>> num[::4]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    88
  [1, 5, 9]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    89
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    90
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    91
Multiplication
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    92
~~~~~~~~~~~~~~
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    93
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    94
A *List* can be multiplied with an integer to repeat itself::
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    95
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    96
  >>> [20] * 5
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    97
  [20, 20, 20, 20, 20]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    98
  >>> [42, 'Python', 54] * 3
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    99
  [42, 'Python', 54, 42, 'Python', 54, 42, 'Python', 54]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   100
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   101
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   102
Membership
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   103
~~~~~~~~~~
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   104
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   105
**in** operator is used to find whether an element is part of the *List*. It
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   106
returns **True** if the element is present in the *List* or **False** if it is not 
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   107
present. Since this operator returns a Boolean value it is called a Boolean
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   108
operator::
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   109
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   110
  >>> names = ['Guido', 'Alex', 'Tim']
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   111
  >>> 'Tim' in names
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   112
  True
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   113
  >>> 'Adam' in names
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   114
  False
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   115
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   116
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   117
Length, Maximum and Minimum
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   118
~~~~~~~~~~~~~~~~~~~~~~~~~~~
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   119
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   120
Length of a *List* can be found out using the len function. The max function
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   121
returns the element with the largest value and the min function returns the 
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   122
element with the smallest value::
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   123
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   124
  >>> num = [4, 1, 32, 12, 67, 34, 65]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   125
  >>> len(num)
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   126
  7
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   127
  >>> max(num)
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   128
  67
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   129
  >>> min(num)
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   130
  1
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   131
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   132
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   133
Changing Elements
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   134
~~~~~~~~~~~~~~~~~
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   135
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   136
Unlike Strings *Lists* are mutable, i.e. elements of a *List* can be manipulated::
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   137
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   138
  >>> a = [1, 3, 5, 7]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   139
  >>> a[2] = 9
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   140
  >>> a
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   141
  [1, 3, 9, 7]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   142
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   143
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   144
Deleting Elements
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   145
~~~~~~~~~~~~~~~~~
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   146
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   147
An element or a slice of a *List* can be deleted by using the **del** statement::
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   148
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   149
  >>> a = [1, 3, 5, 7, 9, 11]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   150
  >>> del a[-2:]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   151
  >>> a
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   152
  [1, 3, 5, 7]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   153
  >>> del a[1]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   154
  >>> a
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   155
  [1, 5, 7]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   156
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   157
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   158
Assign to Slices
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   159
~~~~~~~~~~~~~~~~
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   160
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   161
In the same way, values can be assigned to individual elements of the *List*, 
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   162
a *List* of elements can be assigned to a slice::
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   163
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   164
  >>> a = [2, 3, 4, 5]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   165
  >>> a[:2] = [0, 1]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   166
  [0, 1, 4, 5]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   167
  >>> a[2:2] = [2, 3]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   168
  >>> a
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   169
  [0, 1, 2, 3, 4, 5]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   170
  >>> a[2:4] = []
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   171
  >>> a
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   172
  [0, 1, 4, 5]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   173
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   174
The last two examples should be particularly noted carefully. The last but one
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   175
example insert elements or a list of elements into a *List* and the last example
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   176
deletes a list of elements from the *List*.
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   177
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   178
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   179
None, Empty Lists, and Initialization
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   180
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   181
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   182
An *Empty List* is a *List* with no elements and is simply represented as
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   183
[]. A *None List* is one with all elements in it being **None**. It serves
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   184
the purpose having a container list of some fixed number of elements with
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   185
no value::
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   186
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   187
  >>> a = []
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   188
  >>> a
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   189
  []
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   190
  >>> n = [None] * 10
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   191
  >>> n
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   192
  [None, None, None, None, None, None, None, None, None, None]
000a414fc3b7 Added a file for Lists and Tuples session.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   193