diff options
author | Jovina | 2011-07-07 12:04:28 +0530 |
---|---|---|
committer | Jovina | 2011-07-07 12:04:28 +0530 |
commit | e4f4729e02d3a550f74c52210ea619f8dadb4283 (patch) | |
tree | 823c2b5509cfbba45c959e171061ee11e72e0d48 /sets/script.rst | |
parent | ab0b9d6fa8b1971433d1daf092afeb83aae2256c (diff) | |
download | st-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.rst | 244 |
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! |