Uso de rangos

Además de usar índices para extraer un valor de una lista, podemos también usar rangos (slices en la literatura en inglés) para extraer más de un valor, por ejemplo:

Uso de rangos en listas

El rango se define con un valor inicial seguido de dos puntos y el valor final, y representa el conjunto de índices que van desde el valor inicial (incluido) hasta el valor final (sin incluir). En el ejemplo anterior, el elemento con índice 2 es "c" (recordemos que los índices se asignan de izquierda a derecha comenzando por cero) y el elemento con índice "4" es "e" (que no se incluirá), por lo que el resultado de seleccionar m[2:4] es ["c", "d"], elementos cuyos índices son 2 y 3.

Al especificar el rango también podemos añadir un tercer valor (separado del anterior por otros dos puntos), valor que indica el incremento entre índices a extraer. Por ejemplo:

Uso de rangos en listas

En este caso estamos extrayendo los elementos cuyos índices van de 2 (incluido) hasta 6 (sin incluir) considerados de dos en dos, es decir, los índices 2 y 4 (correspondientes a los valores "c" y "e).

Si el incremento en cuestión es negativo, los índices de los elementos a extraer se restan del anterior. Así, en el siguiente ejemplo el primer valor es el 5 (correspondiente a la letra "f"), el segundo es el 2 (correspondiente a la letra "c") y el incremento es -2:

Uso de rangos en listas

El proceso es el siguiente: se extrae el elemento correspondiente al primer índice (5) y se añade el incremento (-2), resultando el índice 3. Se extrae este valor y se vuelve a añadir el incremento, resultando el índice 1 que está fuera del rango a considerar (rango limitado por los valores 5 y 2) y se termina la extracción de los valores de la lista.

Si el primer valor del rango es 0 no necesitamos indicarlo. De forma semejante, si el último valor de la lista coincide con la longitud de la lista, tampoco tenemos por qué indicarlo. Por ejemplo:

Uso de rangos con listas

En In [22] estamos seleccionando todos los elementos con índices desde cero (incluido) hasta 4 (sin incluir), y en In [23] estamos seleccionando todos los elementos con índices desde 4 (incluido) hasta el final de la lista.

También podemos usar valores negativos en el rango. En este caso, ya sabemos que hacen referencia al final de la lista (recuerda que el último elemento recibe el índice -1):

Uso de rangos con listas