Search code examples
pythonlistindexingtuplesindices

Find the indicies of common tuples in two list of tuples without loop in Python


How can one find the indexes of the common tuples in two list of tuples?

tuplelist1 = [("a","b"), ("c","d"), ("e","f"), ("g","h")]
tuplelist2 = [("c","d"),("e","f")]

So the indices in tuplelist1 that are common with tupplelist2 are indices 1 and 2.

Is there a way to figure this out without a loop? Is there a way to do this with sets or list comprehension, for instance?

Thanks!


Solution

  • With a list comprehension, you could do

    indices_of_shared = [index for (index, pair) in enumerate(tuplelist1) if pair in tuplelist2]