Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

266
Visualizações
Identificar el índice de todos los elementos en una lista comparándolos con otra lista

Por ejemplo, tengo una lista A :

 A = [100, 200, 300, 200, 400, 500, 600, 400, 700, 200, 500, 800]

Y tengo la lista B :

 B = [100, 200, 200, 500, 600, 200, 500]

Necesito identificar el índice de elementos en B con respecto a A

Yo he tratado:

 list_index = [A.index(i) for i in B]

Vuelve:

 [0, 1, 1, 5, 6, 1, 5]

Pero lo que necesito es:

 [0, 1, 3, 5, 6, 9, 10]

¿Cómo puedo resolverlo?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Puede iterar a través de la enumeración de A para realizar un seguimiento de los índices y generar los valores donde coinciden:

 A = [100,200,300,200,400,500,600,400,700,200,500,800] B = [100,200,200,500,600,200,500] def get_indices(A, B): a_it = enumerate(A) for n in B: for i, an in a_it: if n == an: yield i break list(get_indices(A, B)) # [0, 1, 3, 5, 6, 9, 10]

Esto evita usar index() varias veces.

over 4 years ago · Santiago Trujillo Relatório

0

Puedes probar algo como esto. Muévase sobre ambas listas y agregue el índice cuando sean iguales:

 A = [100,200,300,200,400,500,600,400,700,200,500,800] B = [100,200,200,500,600,200,500] i, j = 0, 0 list_index = [] while j < len(B): if B[j] == A[i]: list_index.append(i) j += 1 i += 1 print(list_index)

Producción:

[0, 1, 3, 5, 6, 9, 10]

over 4 years ago · Santiago Trujillo Relatório

0

Puede crear una lista llamada índices y obtener el primer índice en ella. Luego itere el resto de los elementos en B , luego tome la porción de A del último índice en la lista de indices y obtenga el índice del elemento, agréguelo al último índice + 1, luego vuelva a agregarlo a la lista de indices .

 indices = [A.index(B[0])] for i,v in enumerate(B[1:]): indices.append(A[indices[-1]+1:].index(v)+indices[-1]+1) #indices: [0, 1, 3, 5, 6, 9, 10]
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda