> I'd like to compare the values in two different sets to
> test if any of the positions in either set share the same
> value (e.g., if the third element of each set is an 'a',
> then the test fails).

There's an inherant problem with this...sets by definition
are unordered, much like dictionaries.  To compare them my
such means, you'd have to convert them to lists, sort the
lists by some ordering, and then compare the results.
Something like

s1 = set([1,3,5,7,9])
s2 = set([1,2,3])
list1 = list(s1)
list2 = list(s2)
list1.sort()
list2.sort()

if [(x,y) for x,y in zip(list1,list2) if x == y]:
        print "There's an overlap"
else:
        print "No matching elements"


Just to evidence matters, on my version of python (2.3.5 on
Debian), the following came back:

>>> set([1,3,5,7,9])
set([1,3,9,5,7])

That's not the original order, but the definition of a set
isn't hurt/changed by any ordering.

Thus, asking for the "position in a set" is an undefined
operation.

-tkc

PS:  for the above was done in 2.3.5 using this line:
from sets import Set as set
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to