CodeGym /Cursos /Python SELF ES /Obtención de sublistas

Obtención de sublistas

Python SELF ES
Nivel 7 , Lección 3
Disponible

3.1 Rango de índices

Obtener un sublista de una lista es una tarea común que se resuelve utilizando el mecanismo de slicing. Los slices permiten extraer elementos de una lista especificando los índices de inicio y fin del rango, así como el paso con el que se deben extraer los elementos.

Uso de slices

Se puede obtener un slice de una lista utilizando la sintaxis list[start:stop:step], donde:

  • start — índice de inicio del elemento (incluido);
  • stop — índice final del elemento (no incluido);
  • step — paso con el que se realiza la selección de elementos.

La sintaxis de slices permite especificar los índices de inicio y fin de la lista que deseas extraer. Recordamos que la indexación en Python comienza desde cero, es decir, el primer elemento tiene índice 0 y el tercero tiene índice 2.


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

# Obtener sublista desde el tercer al séptimo elemento 
sub_list = my_list[2:7]
print(sub_list)  # [2, 3, 4, 5, 6]
            
# Obtener cada segundo elemento de la lista
step_list = my_list[0:10:2]
print(step_list)  # [0, 2, 4, 6, 8]

Si start no se especifica, por defecto es el inicio de la lista, y si stop no se especifica, es el final de la lista. Si step no se especifica, por defecto es 1.

Ejemplos:


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

# Desde el inicio hasta el tercer elemento 
sub_list = my_list[:3]
print(sub_list)  # [0, 1, 2]
            
# Desde el primer elemento/índice hasta el final
step_list = my_list[1:]
print(step_list)  # [1, 2, 3, 4, 5, 6, 7, 8, 9]

3.2 Índices negativos

En Python, los índices negativos proporcionan una forma poderosa de trabajar con listas, permitiendo acceder a los elementos desde el final de la lista. Esto es especialmente útil para obtener sublistas sin conocer la longitud exacta de la lista original.

Los índices negativos en Python comienzan desde -1, que corresponde al último elemento de la lista. -2 indicará el penúltimo elemento, y así sucesivamente. El uso de índices negativos simplifica el acceso a los elementos desde el final de la lista sin necesidad de calcular su posición desde el inicio.

Ejemplos de uso

Supongamos que tienes una lista:


my_list = ['a', 'b', 'c', 'd', 'e']

Para obtener los últimos tres elementos, se puede usar un slice con índices negativos:


sub_list = my_list[-3:]
print(sub_list)  # Mostrará ['c', 'd', 'e']

Si necesitas obtener un sublista entre algunos elementos, comenzando desde el final, puedes combinar índices negativos y positivos:


sub_list = my_list[-4:3]
print(sub_list)  # Mostrará ['b', 'c']

Incluso puedes invertir la lista al revés

Con el parámetro step, puedes crear slices más complejos, por ejemplo, para extraer elementos en orden inverso:


sub_list = my_list[::-1]
print(sub_list)  # Mostrará ['e', 'd', 'c', 'b', 'a'] 

Ventajas de usar índices negativos:

  • Simplificación del código: El acceso a los elementos desde el final de la lista se vuelve intuitivo y no requiere cálculos adicionales.
  • Versatilidad: Este enfoque funciona con cualquier lista, independientemente de su tamaño.
  • Legibilidad: El código se vuelve más fácil de leer y entender, especialmente cuando se trabaja con los últimos elementos de una lista.

Los índices negativos son una herramienta poderosa en el arsenal de un programador de Python que permiten manejar sublistas de manera eficiente y concisa, mejorando la legibilidad y flexibilidad del código.

3.3 ¿Está el elemento en la lista?

Comprobar la presencia de un elemento en una lista se utiliza a menudo para gestionar el flujo de datos y la lógica de los programas. En Python, esto se puede hacer usando el operador in, que devuelve True si el elemento está presente en la lista y False en caso contrario.

Uso del operador in

El operador in es una forma sencilla e intuitiva para verificar la presencia de un elemento:


my_list = [1, 2, 3, 4, 5]
element = 3
exists = element in my_list
print(exists)  # Mostrará True 

Uso en expresiones condicionales

El operador in se utiliza a menudo en operadores condicionales, por ejemplo:


my_list = ["apple", "banana", "cherry"] 
element = "apple"
            
if element in my_list:
    print("El elemento se encuentra en la lista.")
else:
    print("Elemento no encontrado.")

¡Útil! La búsqueda de un elemento utilizando in es eficiente para listas pequeñas o medianas. Sin embargo, para grandes cantidades de datos o búsquedas frecuentes, puede ser más eficiente utilizar otras estructuras de datos, como conjuntos (set), que ofrecen una búsqueda más rápida.

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION