python

Operaciones para cortar listas en Python (slice notation)

Python es un lenguaje que tiene algunas propiedades un poco especiales a la hora de tratar con listas o arreglos. Se puede cortar un arreglo desde su inicio hasta determinado lugar, o desde determinado lugar hasta el final.

Cortar arreglos en Python, slice en listas

También se puede cortar desde el inicio hasta -2 elementos, y otras cosas que al principio son confusas pero después son útiles.

Nota: al menos para efectos de este post, lista y arreglo se refieren a lo mismo.

Operaciones slice en Python

Estas operaciones son las cuales involucran una lista y el símbolo de dos puntos :. De esta manera se pueden cortar listas, así:

lista_cortada = lista[1:3]

Vamos a ver todas las operaciones posibles con esta notación.

Operaciones normales para cortar lista en Python

Para cortar desde inicio hasta fin, se usa esto:

lista[inicio:fin]

Por ejemplo, desde el elemento 0 hasta el 2:

lista[0:2]

Aunque si es cero, no es necesario que se especifique:

lista[:2]

También se puede cortar desde determinado lugar hasta el final:

lista[2:]

Incluso se puede no cortar:

lista[:]

Utilizar números negativos

Aquí se complican un poco las cosas, pero no hay problema. Se pueden usar números negativos para cortar arreglos en Python. Por ejemplo, lo siguiente obtiene el último elemento:

lista[-1:]

Esto es porque comienza en -1, pero como no hay índices negativos, se regresa y entonces se encuentra con el último elemento. Y como ya se encuentra en el fin, no necesita ir más allá.

Igualmente si se quieren obtener los últimos dos elementos:

lista[-2:]

O desde el inicio, pero sin los últimos 2 elementos:

lista[:-2]

Con step o pasos

La notación de slice en Python soporta un tercer “argumento” y es el número de pasos que se avanza al cortar. Por defecto, es 1; pero puede ser especificado de otra manera. Dicho de otro modo, cuando hacemos esto:

lista[0:5] (obtiene desde el 0 hasta el 5 -1)

Es lo mismo que hacer esto:

lista[0:5:1] (obtiene desde el 0 hasta el 5 -1 en pasos de 1)

Pero si cambiamos el tercer argumento, para que sea en pasos de 2:

lista[0:5:2]

Entonces obtiene los elementos del 0 hasta el 5, pero ignorando algunos. Comienza en el 0, y avanza 2 pasos, así que selecciona el que tiene el índice 2. Luego, desde el 2 avanza otros 2 pasos y se encuentra con el índice 4. Si ya no hay más al saltar, entonces se detiene.

La gran diferencia es que cuando ponemos que sea en pasos de 1 y cortamos desde 0 hasta 5, devuelve una lista con 5 elementos. Pero cuando especificamos que vaya en pasos de 2, la devuelve con 3.

Por cierto, se puede observar que para invertir una lista se tiene que avanzar en pasos de -1, seleccionado desde el inicio hasta el fin, así:

lista[::-1]

Esto es explicado en profundidad en otro post que trata sobre cómo invertir un arreglo o lista en Python.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

Entradas recientes

Servidor HTTP en Android con Flutter

El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…

4 días hace

Imprimir automáticamente todos los PDF de una carpeta

En este post te voy a enseñar a designar una carpeta para imprimir todos los…

5 días hace

Guía para imprimir en plugin versión 1 desde Android

En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…

1 semana hace

Añadir tasa de cambio en sistema de información

Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…

2 semanas hace

Comprobar validez de licencia de plugin ESC POS

Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…

2 semanas hace

Imprimir euro € en impresora térmica

Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…

4 semanas hace

Esta web usa cookies.