-1

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!

Emmanuel Sunil
  • 243
  • 4
  • 16

1 Answers1

2

With a list comprehension, you could do

indices_of_shared = [index for (index, pair) in enumerate(tuplelist1) if pair in tuplelist2]
Curtis Lusmore
  • 1,822
  • 15
  • 16
  • Does this just list the index of list 1 if it exists in list 2? Perhaps `if pair == tupleList2[index]`? – Kenny Sep 14 '16 at 23:23
  • Yes, this just tests for the existence of the tuple in the other list, not that it appears at the same index. Your code should work if you require it to appear at the same index. – Curtis Lusmore Sep 14 '16 at 23:29