I think you are looking for nested loops.
Example (based on your edit):
t1=[1,2,'Hello',(1,2),999,1.23] t2=[1,'Hello',(1,2),999] t3=[] for it1, e1 in enumerate(t1): for it2, e2 in enumerate(t2): if e1==e2: t3.append((it1,it2,e1)) # t3=[(0, 0, 1), (2, 1, 'Hello'), (3, 2, (1, 2)), (4, 3, 999)]
Which can be reduced to a common understanding:
[(it1,it2,e1) for it1, e1 in enumerate(t1) for it2, e2 in enumerate(t2) if e1==e2]
But to find common elements, you can simply do:
print set(t1) & set(t2)
If your list contains objects that do not contain hashed objects (for example, other lists, dicts), use a frozen set:
from collections import Iterable s1=set(frozenset(e1) if isinstance(e1,Iterable) else e1 for e1 in t1) s2=set(frozenset(e2) if isinstance(e2,Iterable) else e2 for e2 in t2) print s1 & s2