Regístrate para acceder a más de 15 cursos gratuitos de programación con un simulador

Operador Spread y creación de nuevas listas Python: Listas

En Python, la sintaxis de rest tiene un compañero llamado spread 🤝 Aunque tienen una sintaxis similar, realizan tareas opuestas. Mientras que rest agrupa los elementos, spread los extiende. Esto es especialmente útil cuando queremos copiar o unir listas.

Por ejemplo, si necesitamos definir una lista y añadirle elementos de otra lista, podemos usar spread para hacerlo de manera eficiente. Esto es algo que frecuentemente hacemos al trabajar con valores predeterminados.

# Listas iniciales
french_cities = ['paris', 'marseille']
cities = ['milan', 'rome', *french_cities]

print(cities)  # => ['milan', 'rome', 'paris', 'marseille']

En este caso, * es un spread. Extendió la lista añadiendo todos sus elementos a la nueva lista. La diferencia con rest radica en el contexto de uso. El Rest se emplea a la izquierda del signo igual, en el proceso de desestructuración, mientras que el spread se utiliza a la derecha del signo igual, al formar la lista.

A diferencia del rest, el spread puede ubicarse en cualquier parte de la lista. Por ejemplo, no solo podemos ampliar la lista inicial hacia la derecha, sino también hacia la izquierda:

# Listas iniciales
french_cities = ['paris', 'marseille']
cities = [*french_cities, 'milan', 'rome']

print(cities)  # => ['paris', 'marseille', 'milan', 'rome']

E incluso en medio. Sin spread, un código similar no se puede expresar con una sola operación:

french_cities = ['paris', 'marseille']
cities = ['milan', *french_cities, 'rome']
print(cities) # => ['milan', 'paris', 'marseille', 'rome']

El operador spread funciona con cualquier número de listas:

# Listas iniciales
french_cities = ['paris', 'marseille']
italian_cities = ['rome', 'milan']

# Creamos una unión de listas usando +
cities = [*french_cities, *italian_cities]

print(cities)  # ['paris', 'marseille', 'rome', 'milan']

Copiar una lista

El operador spread se utiliza con frecuencia para copiar una lista. La copia previene la modificación de la lista original cuando es necesario cambiar su copia:

# Lista inicial
french_cities = ['paris', 'marseille']

# Creamos una copia de la lista. También puedes utilizar .copy()
copy = [*french_cities]
copy.append('lyon')

print(copy) # => ['paris', 'marseille', 'lyon']
print(french_cities) # => ['paris', 'marseille']

Conclusiones

El operador spread * permite agregar facilmente elementos de una o varias listas a una nueva lista. Gracias a este operador, puedes incluir elementos de una lista en cualquier lugar de la nueva lista, ya sea al comienzo, en medio o al final.

Usar el operador spread para unir varias listas simplifica este proceso, haciéndolo más directo. En lugar de usar el método concat() o ciclos complicados, puedes simplemente aplicar el operador spread para obtener una sola lista que contenga todos los elementos de las listas originales. Esto es especialmente útil para fusionar datos o crear listas combinadas.

El operador spread puede ser usado para crear copias de listas. Esto previene la modificación de la lista original cuando se modifica su copia.

Para acceder completo a curso necesitas un plan básico

El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.

Obtener acceso
130
cursos
1000
ejercicios
2000+
horas de teoría
3200
test

Obtén acceso

Cursos de programación para principiantes y desarrolladores experimentados. Comienza tu aprendizaje de forma gratuita

  • 130 cursos, 2000+ horas de teoría
  • 1000 ejercicios prácticos en el navegador
  • 360 000 estudiantes
Al enviar el formulario, aceptas el «Política de privacidad» y los términos de la «Oferta», y también aceptas los «Términos y condiciones de uso»

Nuestros graduados trabajan en empresas como:

Bookmate
Health Samurai
Dualboot
ABBYY