Hi,
I have 2 lists of tuples that look like:
E1=[('a','g'),('r','s')] and
E2=[('g','a'),('r','q'),('f','h')].
In this tuple, the ordering does not
matter, i.e. (u,v) is the same as (v,u).

What I want to do is the following:
given 2 list of tuples, E1 and E2, I want to create another list with
tuples that are common to both. So in the above example I would like
to return ('a','g') as being common.
So far I have the code below but it does not work out properly, I would
be grateful if someone can help me out .
thanks

def list_of_tuples_intersect(E1,E2):

        S1=Set()
        S2=Set()
        for e in E1:
                S1.add((e[0],e[1]))
                S1.add((e[1],e[0]))
        for e in E2:
                S2.add((e[0],e[1]))
                S2.add((e[1],e[0]))
        S= S1 & S2
        SS=Set()
        done=Set()

        for e in S:
                if ((e[0],e[1])  in done) or ((e[1],e[0])  in done):
                        continue
                else:
                        SS.add((e[0],e[1]))
                        done.add((e[0],e[1]))
                        done.add((e[1],e[0]))
        return SS

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to