0Pricing
Coding Interview Prep · Lección

Encuentre el índice, no solo el valor

Siga las posiciones con enumerate

Encuentre el índice, no solo el valor es una lección gratuita de Coding Interview Prep en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Coding Interview Prep, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Coding Interview Prep incluye 4 lecciones en total.

Las posiciones importan

A menudo, la respuesta no es el valor, sino dónde se encuentra. En los problemas de programación competitiva se suele pedir un índice basado en 1 o en 0, así que debe controlar las posiciones.

a = [4, 1, 7, 3]

Buscar con .index()

a.index(x) devuelve la posición de la primera coincidencia. Es rápido de escribir, pero recorre la lista de izquierda a derecha en O(n).

pos = a.index(7)  # 2

Los valores ausentes producen errores

Si el valor no está presente, .index() genera un ValueError, es decir, un fallo en tiempo de ejecución. Compruebe primero la pertenencia si no está seguro.

if x in a:
    pos = a.index(x)

Recorrer con enumerate

enumerate le proporciona el índice y el valor juntos en cada paso: es la forma clara de controlar las posiciones mientras recorre la colección.

for i, v in enumerate(a):
    print(i, v)

Iniciar enumerate en uno

Muchos jueces requieren posiciones basadas en 1. Pase start=1 a enumerate para que el primer índice sea 1 y coincida con el enunciado.

for i, v in enumerate(a, start=1):
    ...

Índice del máximo

Para encontrar dónde está el máximo, recorra la lista y recuerde el mejor índice, ya que max(a) por sí solo solo proporciona el valor.

best = 0
for i, v in enumerate(a):
    if v > a[best]:
        best = i

Un argmax ingenioso

Un truco compacto: empareje cada índice con su valor y obtenga el máximo por valor. El rango proporciona directamente la posición.

best = max(range(len(a)), key=lambda i: a[i])

Recopilar todos los índices coincidentes

¿Necesita todas las posiciones de un valor? Una comprensión sobre enumerate recopila todas las coincidencias en una sola línea.

idx = [i for i, v in enumerate(a) if v == 7]

Mapear un valor a su índice

Para realizar búsquedas repetidas, construya una vez un dict que asocie cada valor con su índice y convierta cada búsqueda posterior en una operación O(1).

where = {v: i for i, v in enumerate(a)}

Los duplicados requieren cuidado

Un dict de valor a índice solo conserva la última aparición. Use una lista por clave, o enumerate, cuando los duplicados sean importantes.

where = {}
for i, v in enumerate(a):
    where.setdefault(v, []).append(i)

Convertir entre bases de índices

Preste atención a la base: si almacenó índices basados en 0, pero debe imprimirlos basados en 1, sume uno. Mezclar bases es una causa silenciosa de respuestas incorrectas.

print(pos + 1)  # 0-based to 1-based

Comprobación rápida

Quiere obtener posiciones basadas en 1 mientras recorre la colección. ¿Qué debe escribir?

Repaso: controlar las posiciones

Ahora puede encontrar un índice concreto, el índice del máximo y todos los índices coincidentes, además de asociar valores con posiciones de forma segura. enumerate es su herramienta fiable para controlar posiciones. 🎯

Preguntas frecuentes

¿La lección «Encuentre el índice, no solo el valor» es gratis?

Sí — el texto completo de «Encuentre el índice, no solo el valor» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Coding Interview Prep, actualiza a CoddyKit PRO. El curso de Coding Interview Prep incluye 4 lecciones en total.

¿Qué aprenderé en «Encuentre el índice, no solo el valor»?

Siga las posiciones con enumerate Practicas Coding Interview Prep con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Coding Interview Prep?

No se requiere experiencia previa. Coding Interview Prep en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Encuentre el índice, no solo el valor»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Coding Interview Prep?

Sí. Cada lección de Coding Interview Prep incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Listas, indexación y slicing para CP
  2. Construya arrays rápidamente con comprehensions
  3. Min, max, sum y totales acumulados
  4. Encuentre el índice, no solo el valor
← Volver a Coding Interview Prep