author | Amit Sethi |
Tue, 09 Nov 2010 12:42:40 +0530 | |
changeset 415 | 8afa31ae6129 |
parent 374 | 57d145c18ccd |
child 430 | 7b2275daab60 |
permissions | -rw-r--r-- |
374 | 1 |
.. Objectives |
2 |
.. ---------- |
|
3 |
||
4 |
.. By the end of this tutorial, you will be able to |
|
5 |
||
6 |
.. Create Lists. |
|
7 |
.. Access List elements. |
|
8 |
.. Append elemets to list |
|
9 |
.. Delete list elemets |
|
10 |
||
11 |
.. 1. getting started with ipython |
|
12 |
||
13 |
||
14 |
||
15 |
.. Prerequisites |
|
16 |
.. ------------- |
|
17 |
||
18 |
.. 1. getting started with strings |
|
19 |
.. #. getting started with lists |
|
20 |
.. #. basic datatypes |
|
21 |
||
415 | 22 |
.. Author : Amit |
23 |
Internal Reviewer : |
|
374 | 24 |
External Reviewer : |
25 |
Checklist OK? : <put date stamp here, if OK> [2010-10-05] |
|
26 |
||
27 |
Script |
|
28 |
------ |
|
178 | 29 |
Hello friends and welcome to the tutorial on getting started with |
182 | 30 |
lists. |
178 | 31 |
|
32 |
{{{ Show the slide containing title }}} |
|
33 |
||
34 |
{{{ Show the slide containing the outline slide }}} |
|
35 |
||
36 |
In this tutorial we will be getting acquainted with a python data |
|
204 | 37 |
structure called lists. We will learn :: |
38 |
||
185
35a3811ca91e
reviewed getting_started_with_lists a.k.a liststart
Nishanth <nishanth@fossee.in>
parents:
182
diff
changeset
|
39 |
* How to create lists |
35a3811ca91e
reviewed getting_started_with_lists a.k.a liststart
Nishanth <nishanth@fossee.in>
parents:
182
diff
changeset
|
40 |
* Structure of lists |
35a3811ca91e
reviewed getting_started_with_lists a.k.a liststart
Nishanth <nishanth@fossee.in>
parents:
182
diff
changeset
|
41 |
* Access list elements |
35a3811ca91e
reviewed getting_started_with_lists a.k.a liststart
Nishanth <nishanth@fossee.in>
parents:
182
diff
changeset
|
42 |
* Append elements to lists |
35a3811ca91e
reviewed getting_started_with_lists a.k.a liststart
Nishanth <nishanth@fossee.in>
parents:
182
diff
changeset
|
43 |
* Deleting elements from lists |
178 | 44 |
|
182 | 45 |
List is a compound data type, it can contain data of other data |
185
35a3811ca91e
reviewed getting_started_with_lists a.k.a liststart
Nishanth <nishanth@fossee.in>
parents:
182
diff
changeset
|
46 |
types. List is also a sequence data type, all the elements are in |
182 | 47 |
order and there order has a meaning. |
178 | 48 |
|
185
35a3811ca91e
reviewed getting_started_with_lists a.k.a liststart
Nishanth <nishanth@fossee.in>
parents:
182
diff
changeset
|
49 |
We will first create an empty list with no elements. On your IPython |
178 | 50 |
shell type :: |
51 |
||
182 | 52 |
empty = [] |
53 |
type(empty) |
|
178 | 54 |
|
55 |
||
185
35a3811ca91e
reviewed getting_started_with_lists a.k.a liststart
Nishanth <nishanth@fossee.in>
parents:
182
diff
changeset
|
56 |
This is an empty list without any elements. |
178 | 57 |
|
182 | 58 |
* Filled lists |
178 | 59 |
|
182 | 60 |
Lets now define a list, nonempty and fill it with some random elements. |
178 | 61 |
|
182 | 62 |
nonempty = ['spam', 'eggs', 100, 1.234] |
178 | 63 |
|
64 |
Thus the simplest way of creating a list is typing out a sequence |
|
65 |
of comma-separated values (items) between square brackets. |
|
185
35a3811ca91e
reviewed getting_started_with_lists a.k.a liststart
Nishanth <nishanth@fossee.in>
parents:
182
diff
changeset
|
66 |
All the list items need not have the same data type. |
178 | 67 |
|
201
6b1efb74d914
Applied the suggestion of Nishanth on getting started with lists and basicdatatypes(Partially)
amit
parents:
200
diff
changeset
|
68 |
|
178 | 69 |
|
185
35a3811ca91e
reviewed getting_started_with_lists a.k.a liststart
Nishanth <nishanth@fossee.in>
parents:
182
diff
changeset
|
70 |
As we can see lists can contain different kinds of data. In the |
178 | 71 |
previous example 'spam' and 'eggs' are strings and 100 and 1.234 |
185
35a3811ca91e
reviewed getting_started_with_lists a.k.a liststart
Nishanth <nishanth@fossee.in>
parents:
182
diff
changeset
|
72 |
integer and float. Thus we can put elements of heterogenous types in |
35a3811ca91e
reviewed getting_started_with_lists a.k.a liststart
Nishanth <nishanth@fossee.in>
parents:
182
diff
changeset
|
73 |
lists. Thus list themselves can be one of the element types possible |
35a3811ca91e
reviewed getting_started_with_lists a.k.a liststart
Nishanth <nishanth@fossee.in>
parents:
182
diff
changeset
|
74 |
in lists. Thus lists can also contain other lists. Example :: |
178 | 75 |
|
182 | 76 |
list_in_list=[[4,2,3,4],'and', 1, 2, 3, 4] |
178 | 77 |
|
182 | 78 |
We access list elements using the number of index. The |
185
35a3811ca91e
reviewed getting_started_with_lists a.k.a liststart
Nishanth <nishanth@fossee.in>
parents:
182
diff
changeset
|
79 |
index begins from 0. So for list nonempty, nonempty[0] gives the |
35a3811ca91e
reviewed getting_started_with_lists a.k.a liststart
Nishanth <nishanth@fossee.in>
parents:
182
diff
changeset
|
80 |
first element, nonempty[1] the second element and so on and |
208 | 81 |
nonempty[3] the last element. :: |
178 | 82 |
|
83 |
nonempty[0] |
|
84 |
nonempty[1] |
|
85 |
nonempty[3] |
|
86 |
||
87 |
We can also access the elememts from the end using negative indices :: |
|
88 |
||
89 |
nonempty[-1] |
|
90 |
nonempty[-2] |
|
91 |
nonempty[-4] |
|
92 |
||
201
6b1efb74d914
Applied the suggestion of Nishanth on getting started with lists and basicdatatypes(Partially)
amit
parents:
200
diff
changeset
|
93 |
-1 gives the last element which is the 4th element , -2 second to last and -4 gives the fourth |
6b1efb74d914
Applied the suggestion of Nishanth on getting started with lists and basicdatatypes(Partially)
amit
parents:
200
diff
changeset
|
94 |
from last element which is first element. |
185
35a3811ca91e
reviewed getting_started_with_lists a.k.a liststart
Nishanth <nishanth@fossee.in>
parents:
182
diff
changeset
|
95 |
|
35a3811ca91e
reviewed getting_started_with_lists a.k.a liststart
Nishanth <nishanth@fossee.in>
parents:
182
diff
changeset
|
96 |
We can append elements to the end of a list using append command. :: |
178 | 97 |
|
98 |
nonempty.append('onemore') |
|
201
6b1efb74d914
Applied the suggestion of Nishanth on getting started with lists and basicdatatypes(Partially)
amit
parents:
200
diff
changeset
|
99 |
nonempty |
178 | 100 |
nonempty.append(6) |
101 |
nonempty |
|
102 |
||
185
35a3811ca91e
reviewed getting_started_with_lists a.k.a liststart
Nishanth <nishanth@fossee.in>
parents:
182
diff
changeset
|
103 |
As we can see non empty appends 'onemore' and 6 at the end. |
35a3811ca91e
reviewed getting_started_with_lists a.k.a liststart
Nishanth <nishanth@fossee.in>
parents:
182
diff
changeset
|
104 |
|
201
6b1efb74d914
Applied the suggestion of Nishanth on getting started with lists and basicdatatypes(Partially)
amit
parents:
200
diff
changeset
|
105 |
|
178 | 106 |
|
107 |
Using len function we can check the number of elements in the list |
|
208 | 108 |
nonempty. In this case it being 6 :: |
178 | 109 |
|
110 |
len(nonempty) |
|
111 |
||
201
6b1efb74d914
Applied the suggestion of Nishanth on getting started with lists and basicdatatypes(Partially)
amit
parents:
200
diff
changeset
|
112 |
|
185
35a3811ca91e
reviewed getting_started_with_lists a.k.a liststart
Nishanth <nishanth@fossee.in>
parents:
182
diff
changeset
|
113 |
|
35a3811ca91e
reviewed getting_started_with_lists a.k.a liststart
Nishanth <nishanth@fossee.in>
parents:
182
diff
changeset
|
114 |
Just like we can append elements to a list we can also remove them. |
201
6b1efb74d914
Applied the suggestion of Nishanth on getting started with lists and basicdatatypes(Partially)
amit
parents:
200
diff
changeset
|
115 |
There are two ways of doing it. One is by using index. :: |
178 | 116 |
|
117 |
del(nonempty[1]) |
|
118 |
||
201
6b1efb74d914
Applied the suggestion of Nishanth on getting started with lists and basicdatatypes(Partially)
amit
parents:
200
diff
changeset
|
119 |
|
185
35a3811ca91e
reviewed getting_started_with_lists a.k.a liststart
Nishanth <nishanth@fossee.in>
parents:
182
diff
changeset
|
120 |
|
35a3811ca91e
reviewed getting_started_with_lists a.k.a liststart
Nishanth <nishanth@fossee.in>
parents:
182
diff
changeset
|
121 |
deletes the element at index 1, i.e the second element of the |
178 | 122 |
list, 'eggs'. The other way is removing element by content. Lets say |
123 |
one wishes to delete 100 from nonempty list the syntax of the command |
|
182 | 124 |
should be :: |
125 |
||
342 | 126 |
nonempty.remove(100) |
178 | 127 |
|
182 | 128 |
but what if their were two 100's. To check that lets do a small |
129 |
experiment. :: |
|
178 | 130 |
|
342 | 131 |
nonempty.append('python') |
132 |
nonempty |
|
133 |
nonempty.remove('python') |
|
134 |
nonempty |
|
178 | 135 |
|
185
35a3811ca91e
reviewed getting_started_with_lists a.k.a liststart
Nishanth <nishanth@fossee.in>
parents:
182
diff
changeset
|
136 |
If we check a now we will see that the first occurence 'spam' is removed |
35a3811ca91e
reviewed getting_started_with_lists a.k.a liststart
Nishanth <nishanth@fossee.in>
parents:
182
diff
changeset
|
137 |
thus remove removes the first occurence of the element in the sequence |
182 | 138 |
and leaves others untouched. |
178 | 139 |
|
140 |
||
141 |
{{{Slide for Summary }}} |
|
142 |
||
143 |
||
185
35a3811ca91e
reviewed getting_started_with_lists a.k.a liststart
Nishanth <nishanth@fossee.in>
parents:
182
diff
changeset
|
144 |
In this tutorial we came across a sequence data type called lists. :: |
35a3811ca91e
reviewed getting_started_with_lists a.k.a liststart
Nishanth <nishanth@fossee.in>
parents:
182
diff
changeset
|
145 |
|
182 | 146 |
* We learned how to create lists. |
320
223044cf254f
Adding new format st-scripts with questions etc for basic-data-type and
amit
parents:
208
diff
changeset
|
147 |
* How to access lists. |
182 | 148 |
* Append elements to list. |
149 |
* Delete Element from list. |
|
150 |
* And Checking list length. |
|
320
223044cf254f
Adding new format st-scripts with questions etc for basic-data-type and
amit
parents:
208
diff
changeset
|
151 |
|
201
6b1efb74d914
Applied the suggestion of Nishanth on getting started with lists and basicdatatypes(Partially)
amit
parents:
200
diff
changeset
|
152 |
|
178 | 153 |
|
154 |
{{{ Sponsored by Fossee Slide }}} |
|
155 |
||
156 |
This tutorial was created as a part of FOSSEE project. |
|
157 |
||
158 |
I hope you found this tutorial useful. |
|
159 |
||
160 |
Thank You |
|
161 |
||
162 |
||
208 | 163 |
* Author : Amit Sethi |
164 |
* First Reviewer : |
|
165 |
* Second Reviewer : Nishanth |