Как найти индекс A в списке B

#python

#python

Вопрос:

Допустим, у нас есть список A = [[1,0],[1,1],[1,2]] , B = [[1,0],[0,0],[7,8],[1,1],[1,2]] и я хотел бы найти индекс для каждого элемента из A in B , поэтому я хочу получить результат [0,3,4] .

Комментарии:

1. [B.index(el) for el in A] найдет первый экземпляр каждого из них.

Ответ №1:

Вы можете использовать простой цикл для итерации по A, а затем использовать B.index() . Код будет примерно таким

 result = []
for elem in A:
    index = B.index(elem) # Find the location of element
    result.append(index)  # Save it inside results
    # You can combine the above two statements into one
    # and remove the extra variable index if you like
  

Обратите внимание, что если в B есть дубликаты, он найдет только первый

Комментарии:

1. Привет, спасибо за ваш ответ. Я действительно пробовал этот метод, но получил ошибку: ValueError: значение истинности массива с более чем одним элементом неоднозначно. Используйте a.any() или a.all()

2. Имеет ли список B повторяющиеся значения?