2017-02-05 | Paul Boddie | file changeset files shortlog | Fixed internal mapping methods to accept explicit bucket sequences, preventing confusion when searching for entries in one set of buckets while attempting to populate another. Implemented various dictionary and set methods. Added set iteration support. Expanded the test of sets. |
paul@542 | 1 | s = set() |
paul@542 | 2 | s.add(10) |
paul@542 | 3 | s.add(20) |
paul@542 | 4 | s.add("c") |
paul@542 | 5 | s.add((1, 2)) |
paul@544 | 6 | |
paul@542 | 7 | print "# s:", |
paul@544 | 8 | print s # set([10, 20, "c", (1, 2)) |
paul@544 | 9 | print len(s) # 4 |
paul@544 | 10 | print 10 in s # True |
paul@544 | 11 | print 20 in s # True |
paul@544 | 12 | print "c" in s # True |
paul@544 | 13 | print 30 in s # False |
paul@544 | 14 | print (1, 2) in s # True |
paul@542 | 15 | |
paul@542 | 16 | s2 = set([10, 20, "c", (1, 2)]) |
paul@544 | 17 | |
paul@542 | 18 | print "# s2:", |
paul@544 | 19 | print s2 # set([10, 20, "c", (1, 2)) |
paul@544 | 20 | print len(s2) # 4 |
paul@544 | 21 | print 10 in s2 # True |
paul@544 | 22 | print 20 in s2 # True |
paul@544 | 23 | print "c" in s2 # True |
paul@544 | 24 | print 30 in s2 # False |
paul@544 | 25 | print (1, 2) in s2 # True |
paul@544 | 26 | |
paul@544 | 27 | a = set([1, 3, 5, 7, 9]) |
paul@544 | 28 | b = set([1, 2, 3, 5, 7]) |
paul@544 | 29 | |
paul@544 | 30 | aub = a.union(b) |
paul@544 | 31 | aib = a.intersection(b) |
paul@544 | 32 | adb = a.difference(b) |
paul@544 | 33 | asdb = a.symmetric_difference(b) |
paul@544 | 34 | |
paul@544 | 35 | print len(aub) # 6 |
paul@544 | 36 | print len(aib) # 4 |
paul@544 | 37 | print len(adb) # 1 |
paul@544 | 38 | print len(asdb) # 2 |
paul@544 | 39 | print |
paul@544 | 40 | print 1 in aub # True |
paul@544 | 41 | print 1 in aib # True |
paul@544 | 42 | print 1 in adb # False |
paul@544 | 43 | print 1 in asdb # True |
paul@544 | 44 | print |
paul@544 | 45 | print 2 in aub # True |
paul@544 | 46 | print 2 in aib # False |
paul@544 | 47 | print 2 in adb # False |
paul@544 | 48 | print 2 in asdb # False |
paul@544 | 49 | print |
paul@544 | 50 | print 9 in aub # True |
paul@544 | 51 | print 9 in aib # False |
paul@544 | 52 | print 9 in adb # True |
paul@544 | 53 | print 9 in asdb # False |