114
|
1 |
* Lists
|
|
2 |
*** Outline
|
|
3 |
***** Lists
|
|
4 |
***** Tuples
|
|
5 |
***** Arsenal Required
|
|
6 |
*** Script
|
|
7 |
Welcome friends.
|
|
8 |
|
|
9 |
In this tutorial we shall look at Data structures supported by
|
|
10 |
Python. We shall look at Lists and Tuples. We have already seen
|
|
11 |
lists in some of previous sessions, here we shall cover more
|
|
12 |
details about them.
|
|
13 |
|
|
14 |
The list type is a container that holds a number of other
|
|
15 |
objects, in a given order. The list type implements the sequence
|
|
16 |
protocol, and also allows you to add and remove objects from
|
|
17 |
the sequence.
|
|
18 |
|
|
19 |
First lets start the interpreter by typing ipython in terminal.
|
|
20 |
We create our first list by typing
|
|
21 |
num = [1, 2, 3, 4]
|
|
22 |
Items enclosed in square brackets separated by comma
|
|
23 |
constitutes a list.
|
|
24 |
One neat feature of Python list is we can store data belonging
|
|
25 |
to multiple kind of data structures. We can have a list with
|
|
26 |
something:
|
|
27 |
var = [1, 1.2, 'string']
|
|
28 |
print var
|
|
29 |
and with this list we can perform most of list operations.
|
|
30 |
Python lists are very versatile, that is we can change it as we
|
|
31 |
wish. It supports features like removal, addition.
|
|
32 |
|
|
33 |
Similar to strings, we can concatenate two lists using '+'
|
|
34 |
operator
|
|
35 |
so num + var will return a new list with 'var' added in end of
|
|
36 |
'num'
|
|
37 |
We have already covered append functionality.
|
|
38 |
To add single object at end of list 'append' function is used
|
|
39 |
num
|
|
40 |
num.append(-5)
|
|
41 |
num
|
|
42 |
append takes only one argument. And append behaves different
|
|
43 |
from + operator. While + will return new list with two lists
|
|
44 |
added if we try similar with append function like:
|
|
45 |
num.append([9, 10, 11])
|
|
46 |
num
|
|
47 |
It changes original list and add the argument as one element
|
|
48 |
and not separate elements.
|
|
49 |
To extend list with new list elements we use 'extend' function
|
|
50 |
num = [1, 4, -6]
|
|
51 |
num.extend([2, 8, 0])
|
|
52 |
num
|
|
53 |
As we can notice extend and append behaves differently.
|
|
54 |
To reverse a list 'reverse' function is available.
|
|
55 |
num
|
|
56 |
This is current content of list
|
|
57 |
num.reverse()
|
|
58 |
Now after using reverse function, lets check the value of 'num'
|
|
59 |
num
|
|
60 |
To remove a particular element from list Python provides remove
|
|
61 |
num.reverse(8)
|
|
62 |
if argument is present more than once, then first occurrence is
|
|
63 |
removed from list.
|
|
64 |
|
|
65 |
Slicing and Striding concepts which we covered for Arrays work
|
|
66 |
with lists also. Lets revisit the concept with some examples
|
|
67 |
a = [1, 2, 3, 4, 5]
|
|
68 |
a[1:3] returns a list with second and third element of a
|
|
69 |
One important feature of list indexing is negative values. In
|
|
70 |
Lists -1 indicates last element of a list
|
|
71 |
a[-1]
|
|
72 |
similarly -2 will be second last and so forth. Now these
|
|
73 |
negative indexes can also be used with slicing. If we try
|
|
74 |
a[1:-1]
|
|
75 |
we get list which excludes first and last element of a.
|
|
76 |
and if we miss start/end index value default are taken
|
|
77 |
a[:3] will return list from start till fourth element of a.
|
|
78 |
If we give step size we can do striding also
|
|
79 |
a[1:-1:2]
|
|
80 |
This gives second, fourth and so on items of a till we reach
|
|
81 |
last item of list.
|
|
82 |
a[::2] will skip all the even placed elements of a
|
|
83 |
With step sizes, if we give negative values we get some
|
|
84 |
interesting results. Lets try
|
|
85 |
a[::-1]
|
|
86 |
It returns reversed 'a'
|
|
87 |
We can check for containership also with lists
|
|
88 |
num
|
|
89 |
4 in a
|
|
90 |
True
|
|
91 |
|
|
92 |
Python provides support to special immutable lists known as
|
|
93 |
'tuple' To create a tuple instead of square brackets'[' we have
|
|
94 |
to use normal brackets '('
|
|
95 |
t = (1, 2, 3, 4, 5, 6, 7, 8)
|
|
96 |
its elements can also be accessed using indexes
|
|
97 |
t[0] + t[3] + t[-1]
|
|
98 |
but operation like
|
|
99 |
t[4] = 7 are not allowed
|
|
100 |
These features of tuples have their advantages. To see where
|
|
101 |
are they used we first create two variables
|
|
102 |
a, b = 1, 6
|
|
103 |
print a, b
|
|
104 |
Now lets swap values their values. Normal approach would be
|
|
105 |
to create a temporary to hold the value but because of tuples
|
|
106 |
we can do something cool like
|
|
107 |
b, a = a, b
|
|
108 |
print a, b
|
|
109 |
and values are swapped. And this swapping works for all types
|
|
110 |
of variables.
|
|
111 |
|
|
112 |
With this we come to the end of this tutorial on Lists and
|
|
113 |
tuples. In this tutorial we have learnt some more operations
|
|
114 |
on lists and tuples. In next session we will cover more on
|
|
115 |
Python supported data structures. Thank you!
|
|
116 |
|
|
117 |
*** Notes
|