Проблема
Учитывая 2 списка A и B, я хочу получить индексы всех элементов в списке A, которые присутствуют в списке B. Каждый элемент является кортежем.
Я используя списки размером 40 000 элементов или около того.
Пример
Входные данные:
A = [(1,2),(3,4),(5,6),(7,8)]
B = [(1,2),(3,4),(5,6)]
Ожидаемый результат:
[0,1,2]
Попытки решения
Я пробовал два решения:
1) с использованием функции карты
m = map(a.index,b)
list(m)
2) с использованием понимания списка
m = [a.index(item) for item in b if item in a]
Эти методы, похоже, тоже много времени. Есть ли другой способ выполнить sh это?