summaryrefslogtreecommitdiff
path: root/sets/script.rst
diff options
context:
space:
mode:
authorJovina2011-07-07 12:04:28 +0530
committerJovina2011-07-07 12:04:28 +0530
commite4f4729e02d3a550f74c52210ea619f8dadb4283 (patch)
tree823c2b5509cfbba45c959e171061ee11e72e0d48 /sets/script.rst
parentab0b9d6fa8b1971433d1daf092afeb83aae2256c (diff)
downloadst-scripts-e4f4729e02d3a550f74c52210ea619f8dadb4283.tar.gz
st-scripts-e4f4729e02d3a550f74c52210ea619f8dadb4283.tar.bz2
st-scripts-e4f4729e02d3a550f74c52210ea619f8dadb4283.zip
Major changes to script & slides of 'Sets'.
Diffstat (limited to 'sets/script.rst')
-rw-r--r--sets/script.rst244
1 files changed, 204 insertions, 40 deletions
diff --git a/sets/script.rst b/sets/script.rst
index a2e851a..664318c 100644
--- a/sets/script.rst
+++ b/sets/script.rst
@@ -23,121 +23,219 @@
Script
------
-{{{ Show the slide containing title }}}
+.. L1
-Hello friends and welcome to the tutorial on Sets
+{{{ Show the first slide containing title, name of the production
+team along with the logo of MHRD }}}
-{{{ Show the slide containing the outline slide }}}
+.. R1
-In this tutorial, we shall learn
+Hello friends and welcome to the tutorial on 'Sets'.
- * sets
- * operations on sets
+.. L2
+{{{ Show the slide containing objectives }}}
+
+.. R2
+
+At the end of this tutorial, you will be able to,
+
+ 1. Create sets from lists.
+ #. Perform union, intersection and symmetric difference operations.
+ #. Check if a set is a subset of other.
+ #. Understand various similarities with lists like length and
+ containership.
+
+.. L3
+
+{{{ Switch to the pre-requisite slide }}}
+
+.. R3
+
+Before beginning this tutorial,we would suggest you to complete the
+tutorial on "Getting started with Lists"
+
+.. R5
+
+Now, What are sets?
Sets are data structures which contain unique elements. In other words,
duplicates are not allowed in sets.
+First let us invoke our ipython interpreter
+
+.. L5
+::
+
+ ipython
+
+.. R6
+
Lets look at how to input sets.
type
+
+.. L6
::
a_list = [1, 2, 1, 4, 5, 6, 2]
a = set(a_list)
a
+.. R7
+
We can see that duplicates are removed and the set contains only unique
-elements.
+elements. Now let us perform some operations on sets.
+For this, we shall first create a pair of sets
+
+.. L7
::
f10 = set([1, 2, 3, 5, 8])
p10 = set([2, 3, 5, 7])
+.. R8
+
f10 is the set of fibonacci numbers from 1 to 10.
p10 is the set of prime numbers from 1 to 10.
-Various operations that we do on sets are possible here also.
+Various operations can be performed on sets.For example,
The | (pipe) character stands for union
+
+.. L8
::
f10 | p10
-gives us the union of f10 and p10
+.. R9
-The & character stands for intersection.
+It gave the union of f10 and p10
+
+The '&' character stands for intersection.
+
+.. L9
::
f10 & p10
-gives the intersection
+.. R10
+
+It gave the intersection of f10 and p10
-similarly,
+similarly,f10 - p10 gives all the elements that are
+in f10 but not in p10
+
+.. L10
::
f10 - p10
-gives all the elements that are in f10 but not in p10
+.. R11
+
+and f10 ^ p10 gives all the elements in f10 union p10 but not
+in f10 intersection p10.
+.. L11
::
f10 ^ p10
-is all the elements in f10 union p10 but not in f10 intersection p10. In
-mathematical terms, it gives the symmectric difference.
+.. R12
+
+In mathematical terms, it gives the symmetric difference.
Sets also support checking of subsets.
+
+.. L12
::
b = set([1, 2])
b < f10
-gives a ``True`` since b is a proper subset of f10.
+.. R13
+
+It gives a ``True`` since b is a proper subset of f10.
Similarly,
+
+.. L13
::
f10 < f10
-gives a ``False`` since f10 is not a proper subset.
+.. R14
+
+It gives a ``False`` since f10 is not a proper subset.
hence the right way to do would be
+
+.. L14
::
f10 <= f10
-and we get a ``True`` since every set is a subset of itself.
+.. R15
+
+ we get a ``True`` since every set is a subset of itself.
Sets can be iterated upon just like lists and tuples.
+
+.. L15
::
for i in f10:
print i,
-prints the elements of f10.
+.. R16
+
+It prints the elements of f10.
+
+The length and containership check on sets is similar as in lists and
+tuples.
-The length and containership check on sets is similar as in lists and tuples.
+.. L16
::
len(f10)
-shows 5. And
+.. R17
+
+It shows 5. And
+
+.. L17
::
1 in f10
2 in f10
+.. R18
+
prints ``True`` and ``False`` respectively
-The order in which elements are organised in a set is not to be relied upon
-since sets do not support indexing. Hence, slicing and striding are not valid
-on sets.
+The order in which elements are organized in a set is not to be relied
+upon, since sets do not support indexing. Hence, slicing and striding
+are not valid on sets.
+
+Pause the video here, try out the following exercise and resume the video.
-{{{ Pause here and try out the following exercises }}}
+.. L18
-%% 1 %% Given a list of marks, marks = [20, 23, 22, 23, 20, 21, 23]
- list all the duplicates
+.. L19
+
+{{{ Show slide with exercise 1 }}}
+
+.. R19
+
+ Given a list of marks, marks = [20, 23, 22, 23, 20, 21, 23]
+ list all the duplicates
+
+.. L20
{{{ continue from paused state }}}
+{{{ Switch to the terminal }}}
+
+.. R20
-Duplicates marks are the marks left out when we remove each element of the
-list exactly one time.
+Duplicates marks are the marks left out when we remove each element of
+the list exactly one time.
+
+.. L21
::
@@ -146,24 +244,90 @@ list exactly one time.
for mark in marks_set:
marks.remove(mark)
- # we are now left with only duplicates in the list marks
+.. R21
+
+.. R22
+
+ We are now left with only duplicates in the list ``marks``
+Hence,
+
+.. L22
+::
+
duplicates = set(marks)
+ duplicates
+
+.. R23
+
+We obtained our required solution
+
+.. L23
+
+.. L24
{{{ Show summary slide }}}
-This brings us to the end of the tutorial.
-we have learnt
+.. R24
+
+This brings us to the end of the tutorial.In this tutorial,
+we have learnt to,
+
+ 1. Make sets from lists.
+ #. Perform union, intersection and symmetric difference operations.
+ by using the operators `|`, `&` and `^` respectively.
+ #. Check if a set is a subset of other using the `<` and `<=` operators.
+ #. Understand various similarities with lists like length and
+ containership.
+
+.. L25
+
+{{{Show self assessment questions slide}}}
+
+.. R25
+
+Here are some self assessment questions for you to solve
+
+1. If ``a = [1, 1, 2, 3, 3, 5, 5, 8]``. What is set(a)
+
+ - set([1, 1, 2, 3, 3, 5, 5, 8])
+ - set([1, 2, 3, 5, 8])
+ - set([1, 2, 3, 3, 5, 5])
+ - Error
+
+2. ``odd = set([1, 3, 5, 7, 9])`` and ``squares = set([1, 4, 9, 16])``.
+ How do you find the symmetric difference of these two sets?
+
+
+3. ``a`` is a set. how do you check if a variable ``b`` exists in ``a``?
+
+.. L26
+
+{{{solution of self assessment questions on slide}}}
+
+.. R26
+
+And the answers,
+
+1. set(a) will have all the common elements in the list ``a``, that is
+ ``set([1, 2, 3, 5, 8])``.
+
+2. To find the symmetric difference between two sets, we use
+ the operator `^`.
+::
+
+ odd ^ squares
+
+3. To check the containership, we say,
+::
+
+ b in a
- * How to make sets from lists
- * How to input sets
- * How to perform union, intersection and symmetric difference operations
- * How to check if a set is a subset of other
- * The various similarities with lists like length and containership
+.. L27
-{{{ Show the "sponsored by FOSSEE" slide }}}
+{{{ Show the Thank you slide }}}
-This tutorial was created as a part of FOSSEE project, NME ICT, MHRD India
+.. R27
-Hope you have enjoyed and found it useful.
+Hope you have enjoyed this tutorial and found it useful.
Thank you!