Encontre o Índice, não Apenas o Valor
Acompanhe as posições com enumerate.
Encontre o Índice, não Apenas o Valor é uma aula grátis de Coding Interview Prep no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Coding Interview Prep, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Coding Interview Prep inclui 4 aulas no total.
As posições importam
Muitas vezes, a resposta não é o valor, mas onde ele está. Problemas de competições frequentemente pedem um índice começando em 1 ou em 0, portanto acompanhe as posições.
a = [4, 1, 7, 3]Encontrar com .index()
a.index(x) retorna a posição da primeira ocorrência. É rápido de escrever, mas percorre os elementos da esquerda para a direita em O(n).
pos = a.index(7) # 2Valores ausentes geram erros
Se o valor não estiver presente, .index() gera um ValueError, causando uma falha em tempo de execução. Verifique a associação primeiro quando houver dúvida.
if x in a:
pos = a.index(x)Percorrer com enumerate
enumerate fornece o índice e o valor juntos em cada etapa, sendo a forma clara de acompanhar posições durante a varredura.
for i, v in enumerate(a):
print(i, v)Começar enumerate em um
Muitos avaliadores esperam posições começando em 1. Passe start=1 para enumerate para que o primeiro índice seja 1, conforme o enunciado.
for i, v in enumerate(a, start=1):
...Índice do máximo
Para descobrir onde está o máximo, percorra os elementos e memorize o melhor índice, pois max(a) sozinho fornece apenas o valor.
best = 0
for i, v in enumerate(a):
if v > a[best]:
best = iUma forma elegante de obter o índice do máximo
Um truque compacto: associe cada índice ao seu valor e obtenha o máximo pelo valor. O intervalo fornece diretamente a posição.
best = max(range(len(a)), key=lambda i: a[i])Coletar todos os índices correspondentes
Precisa de todas as posições de um valor? Uma compreensão sobre enumerate reúne todas as ocorrências em uma linha.
idx = [i for i, v in enumerate(a) if v == 7]Mapear o valor para o índice
Para buscas repetidas, crie uma tabela de dicionário que associe cada valor ao seu índice uma vez, transformando cada busca posterior em uma operação O(1).
where = {v: i for i, v in enumerate(a)}Duplicatas exigem cuidado
Um dicionário de valor para índice mantém apenas a última ocorrência. Use uma lista por chave, ou enumerate, quando as duplicatas forem importantes.
where = {}
for i, v in enumerate(a):
where.setdefault(v, []).append(i)Converter entre bases de índice
Observe a base: se você armazenou índices começando em 0, mas precisa exibi-los começando em 1, adicione um. Misturar bases é uma armadilha silenciosa que produz respostas erradas.
print(pos + 1) # 0-based to 1-basedVerificação rápida
Você quer posições começando em 1 durante o laço. O que deve escrever?
Recapitulação: acompanhar posições
Agora você consegue encontrar um índice, o índice do máximo e todos os índices correspondentes, além de mapear valores para posições com segurança. enumerate é seu rastreador confiável de posições. 🎯
Perguntas Frequentes
A aula “Encontre o Índice, não Apenas o Valor” é grátis?
Sim — o texto completo de “Encontre o Índice, não Apenas o Valor” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Coding Interview Prep, atualize para CoddyKit PRO. O curso de Coding Interview Prep inclui 4 aulas no total.
O que vou aprender em “Encontre o Índice, não Apenas o Valor”?
Acompanhe as posições com enumerate. Você pratica Coding Interview Prep com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Coding Interview Prep?
Nenhuma experiência prévia é necessária. Coding Interview Prep no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Encontre o Índice, não Apenas o Valor”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Coding Interview Prep?
Sim. Cada aula de Coding Interview Prep inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Listas, Indexação e Fatiamento para CP
- Crie Arrays Rapidamente com Compreensões
- Mínimo, Máximo, Soma e Totais Acumulados
- Encontre o Índice, não Apenas o Valor