#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 повторяющиеся значения?