The set is an unordered collection of unique hashable elements. All the elements/items in a set are treated as keys. There are several functions that compare two sets. Right now, I will just give you a taste ...
# sets are unordered collections of unique hashable elements # Python23 tested vegaseat 09mar2005 # Python v2.4 has sets built in import sets print "List the functions within module 'sets':" for funk in dir(sets): print funk # create an empty set set1 = set() # now load the set for k in range(10): set1.add(k) print "\nLoaded a set with 0 to 9:" print set1 set1.add(7) print "Tried to add another 7, but it was already there:" print set1 # make a list of fruits as you put them into a basket basket = ['apple', 'orange', 'apple', 'pear', 'orange', 'banana'] print "\nThe original list of fruits:" print basket # create a set from the list, removes the duplicates fruits = sets.Set(basket) print "\nThe set is unique, but the order has changed:" print fruits # let's get rid of some duplicate words str1 = "Senator Strom Thurmond dressed as as Tarzan" print "\nOriginal string:" print str1 print "A list of the words in the string:" wrdList1 = str1.split() print wrdList1 # now create a set of unique words strSet = sets.Set(wrdList1) print "The set of the words in the string:" print strSet print "Convert set back to string (order has changed!):" print " ".join(strSet) print # comparing two sets, bear with me ... colorSet1 = sets.Set(['red','green','blue','black','orange','white']) colorSet2 = sets.Set(['black','maroon','grey','blue']) print "colorSet1 =", colorSet1 print "colorSet2 =", colorSet2 # same as (colorSet1 - colorSet2) colorSet3 = colorSet1.difference(colorSet2) print "\nThese are the colors in colorSet1 that are not in colorSet2:" print colorSet3 # same as (colorSet1 | colorSet2) colorSet4 = colorSet1.union(colorSet2) print "\nThese are the colors appearing in both sets:" print colorSet4 # same as (colorSet1 ^ colorSet2) colorSet5 = colorSet1.symmetric_difference(colorSet2) print "\nThese are the colors in colorSet1 or in colorSet2, but not both:" print colorSet5 # same as (colorSet1 & colorSet2) colorSet6 = colorSet1.intersection(colorSet2) print "\nThese are the colors common to colorSet1 and colorSet2:" print colorSet6
About the Author