> could this be done in a more elegant fashion? in addition to alan's obvious solution, if you wanted to roll your own, you have a good start. my comments below.
> def Unite(set1, set2): # evaluate 2 lists, join both into 1 new list > newList = [] > for item in set1: > newList.append(item) > for item in set2: > newList.append(item) > newList.sort() > return newList - as a style point, use lowercase for all function and variable names. Capping the first letter is recommended only for class names. - changing it from "unite" to "union" would make it slightly more accurate - why the sort()? sets, are by default, unordered data structures... think of drawing its elements inside the circles in Venn diagrams. - if you do end up using Python sets, use the set() factory function in 2.x, i.e, newSet = set(set1) + set(set2); or set literals in Python 3.x, i.e., mySet = {1, 5, -4, 42}, if you have the exact elements > def Intersect(set1, set2): # evaluate 2 lists, check for > commonalities, output commonalities to 1 new list > newList = [] > for item in set1: > if item in set1 and item in set2: > newList.append(item) > newList.sort() > return newList - the "item in set1 and " in the if-statement is redundant. blow it away - i think you can build it using a listcomp > def Negate(set1, set2): # evaluate 2 lists, return negation of 1st > list > newList = [] > for item in set1: > if item in set2: > set1.remove(item) > newList = set1 > return newList - you probably don't want to call set1.remove(). lists are immutable, and you would've change the contents of set1. it's best if you made newList a copy of set1, i.e., newList = list(set1) or newList = set1[:], and *then* did your for-loop - better yet, use a list comp with an if to build newList to avoid all of the shenanigans i just described hope this helps! -- wesley - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "Core Python Programming", Prentice Hall, (c)2007,2001 "Python Fundamentals", Prentice Hall, (c)2009 http://corepython.com wesley.j.chun :: wescpy-at-gmail.com python training and technical consulting cyberweb.consulting : silicon valley, ca http://cyberwebconsulting.com _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor