Problem involving sets...

Kent Johnson kent at kentsjohnson.com
Fri Apr 14 20:23:34 EDT 2006


flamesrock wrote:
> Kind of a fun but confusing problem...
> 
> I have two lists. Each list contains elements of two-element lists.
> l1 = [['c1',1],['c2',2],['c3',4]]
> l2 = [['c1',1],['c2',2],['c4',4],['c3',3]]
> 
> Exactly in this format, where
> superlist[0][0] is always a string
> superlist[0][1] is always an integer
> 
> Now what I would like to do is find the intersect of those two
> super-lists based on superlist[0][0] and then compare the integers to
> find ultimately:
> A list of strings of the intersect of l1/l2, where the l1[x][1] >
> l2[x][1]
> In the case of the above example, that would be simply:
> ['c3']

In [5]: l1 = [['c1',1],['c2',2],['c3',4]]

In [6]: l2 = [['c1',1],['c2',2],['c4',4],['c3',3]]

In [7]: d=dict(l1)

In [10]: [k for k,v in l2 if k in d and v < d[k]]
Out[10]: ['c3']

Kent



More information about the Python-list mailing list