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.
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.
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.
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[:]
Todo eso se puede ver en el siguiente código:
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]
Aquí el código:
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.
Hablar es de mal gusto, así que aquí el código:
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.
El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…
El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…
En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…
Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…
Hoy vamos a ver programar la impresión de un PDF generado a partir de HTML…
En este tutorial básico de JavaScript con HTML vamos a ver cómo llenar una lista…
Esta web usa cookies.
Ver comentarios