maximal = [com for com in common if sum(s.find(com) for s in common) == -1 *
    (len(common) - 1)]
return [(s, s1.index(s), s2.index(s)) for s in maximal]
Python - how to find all intersections of two strings?