Menu
Coddy logo textTech

Slicing de Listas Parte 2

Parte de la sección Fundamentals del Journey de Python de Coddy — lección 65 de 77.

El slicing tiene otro parámetro step (paso): lst[start:stop:step]. Por ejemplo, considera esta lista:

numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Obtiene cada segundo elemento desde el índice 1 al 8:

print(numbers[1:8:2])
# Salida: [1, 3, 5, 7]

Obtiene cada tercer elemento a partir del índice 2:

print(numbers[2::3])
# Salida: [2, 5, 8]

El slicing también admite índices negativos.

Contando desde el final:

print(numbers[-3:])
# Salida: [7, 8, 9]

Aquí, -3 significa "empezar 3 posiciones desde el final"

Contar hasta el final:

print(numbers[:-2])    
# Output: [0, 1, 2, 3, 4, 5, 6, 7]

Aquí, -2 significa "detenerse 2 posiciones antes del final" (excluido)

Invertir con un paso negativo:

print(numbers[::-1])
# Salida: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
  • Espacio vacío antes del primer : significa “empezar desde el principio”
  • Espacio vacío entre : significa “ir hasta el final”
  • -1 significa "retroceder un paso a la vez" 
challenge icon

Desafío

Fácil

Crea un programa que reciba una lista como entrada (dada) e imprima tres nuevas listas basadas en las siguientes operaciones de segmentación (slicing):

  • Una lista que contenga cada tercer elemento, comenzando desde el índice 1 (el segundo elemento)
  • Una lista que contenga todos los elementos desde el 6.º elemento hasta el 1.º en orden inverso
  • Una lista que contenga cada segundo elemento comenzando desde la mitad de la lista hasta el final

Hoja de referencia

Sintaxis de slicing: lst[start:stop:step]

Ejemplos de slicing:

numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# Cada segundo elemento desde el índice 1 al 8
print(numbers[1:8:2])  # Salida: [1, 3, 5, 7]

# Cada tercer elemento desde el índice 2
print(numbers[2::3])  # Salida: [2, 5, 8]

# Últimos tres elementos
print(numbers[-3:])  # Salida: [7, 8, 9]

# Todos los elementos excepto los últimos dos
print(numbers[:-2])  # Salida: [0, 1, 2, 3, 4, 5, 6, 7]

# Invertir la lista
print(numbers[::-1])  # Salida: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

Puntos clave:

  • Los índices negativos cuentan desde el final de la lista
  • Un espacio vacío antes del primer : significa "empezar desde el principio"
  • Un espacio vacío entre los : significa "ir hasta el final"
  • Un paso (step) negativo invierte el orden

Pruébalo tú mismo

lst = input().split(",")
# Escribe tu código a continuación
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentals