Cómo dividir una lista en Python (índices, pasos e inversión)
Aprenda a dividir listas en Python utilizando la potente sintaxis de corchetes. Domine los argumentos de inicio, parada y paso, la indexación negativa y las listas inversas.
Descripción general
El corte es una de las funciones más intuitivas y poderosas de Python, que le permite extraer subconjuntos de una lista, tupla o cadena con una sintaxis limpia y concisa. En lugar de escribir bucles detallados para copiar elementos específicos de una lista, la notación de corte de Python le permite especificar un rango de índices entre corchetes.
La sintaxis completa para la división de listas es `my_list[start:stop:step]`. El índice "inicio" es inclusivo, el índice "detención" es exclusivo y el "paso" define el incremento entre elementos (el valor predeterminado es 1). Si omite `inicio`, Python se ubica de forma predeterminada al principio de la lista. Si omite "detener", Python se ubica de forma predeterminada al final de la lista. Esto hace que la extracción de partes de colecciones sea muy expresiva.
El rebanado también es extremadamente versátil porque admite índices negativos. Un índice de inicio o parada negativo cuenta hacia atrás desde el final de la lista (donde "-1" representa el último elemento). Al establecer un valor de paso negativo, como `my_list[::-1]`, puede recuperar rápidamente una copia invertida de la lista. Comprender los rangos de sectores es esencial para una extracción de datos limpia.
Código y salida de ejecución
Este script demuestra la división de listas utilizando diferentes inicios, paradas, rangos de pasos, indexación negativa e inversión de listas.
numbers = [0, 10, 20, 30, 40, 50, 60, 70, 80]
# 1. Basic slicing: elements from index 2 up to (but excluding) 6
subset = numbers[2:6]
print("Subset [2:6]:", subset)
# 2. Omitting indices: start to index 4, and index 5 to end
first_five = numbers[:5]
last_four = numbers[5:]
print("First five [:5]:", first_five)
print("Last four [5:]:", last_four)
# 3. Using a step parameter: get every second element
every_second = numbers[::2]
print("Every second [::2]:", every_second)
# 4. Negative indexing: get the last three elements
last_three = numbers[-3:]
print("Last three [-3:]:", last_three)
# 5. Reverse the list using step=-1
reversed_numbers = numbers[::-1]
print("Reversed list [::-1]:", reversed_numbers)Subset [2:6]: [20, 30, 40, 50]
First five [:5]: [0, 10, 20, 30, 40]
Last four [5:]: [50, 60, 70, 80]
Every second [::2]: [0, 20, 40, 60, 80]
Last three [-3:]: [60, 70, 80]
Reversed list [::-1]: [80, 70, 60, 50, 40, 30, 20, 10, 0]Implementación paso a paso
- Utilice list[start:stop] para extraer elementos desde el inicio del índice hasta el final, pero sin incluirlo.
- Omita los índices de inicio o parada (por ejemplo, lista[:4] o lista[4:]) para cortar desde el límite de la lista.
- Pase un tercer argumento dentro de la lista de corchetes[::paso] para omitir elementos a intervalos regulares.
- Utilice índices negativos para contar elementos hacia atrás desde el final de la colección.
Preguntas frecuentes
¿El corte modifica la lista original?
No, la división de listas devuelve una copia superficial del rango solicitado, dejando la lista original sin cambios.
¿Qué sucede si los índices de corte están fuera de los límites?
A diferencia del acceso a un único índice que genera un IndexError, el corte es indulgente y simplemente limita el rango en los límites de la lista, devolviendo una lista vacía si ningún elemento se encuentra en el rango.
Temas relacionados
Aprenda a copiar una lista en Python. Explore la división de listas, el método copy(), los constructores de listas y domine la diferencia entre copias superficiales y profundas.
Cómo invertir una cadena en PythonAprenda a invertir una cadena en Python usando el corte, la función invertida() y la concatenación de bucles con ejemplos de código visual.
Cómo encontrar la longitud de una lista en PythonAprenda a encontrar la longitud de una lista en Python usando la función len(). Comprender la complejidad del tiempo O(1) y los recuentos de comprobación.
Recursos recomendados de Python
Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.
Variables de Python y tipos de datos explicados
Comprender las variables de Python y los tipos de datos principales (cadenas, enteros, flotantes, booleanos). Una guía completa para principiantes sobre la asignación de memoria en Python.
Hoja de referencia de métodos de lista de Python
Guía de referencia rápida para operaciones de listas de Python. Domine la adición, inserción, eliminación, clasificación y corte de elementos.
Python vs JavaScript: ¿Qué lenguaje de programación es mejor?
Una comparación completa entre Python y JavaScript. Explore las diferencias de sintaxis, el rendimiento, los casos de uso (backend frente a frontend) y ejemplos de codificación.