Las listas de Python son una pieza clave del lenguaje. En ellas se pueden almacenar cualquier tipo de dato de una forma ordenada. Por lo que son ampliamente utilizadas. A la hora de trabajar con ellas una tarea que es habitual es concatenar listas en Python. Algo, que como se mostrará a continuación, es trivial, pero es necesario conocer las alternativas disponibles.
Alternativas para concatenar listas en Python
En Python existen múltiples alternativas para concatenar listas, dos de las más usadas son el operador suma (+
) y el método extend()
. Pudiéndose obtener los mismos resultados con ambas, aunque su funcionamiento es diferente.
Concatenar listas con el operador suma (+)
El método más fácil para concatenar dos listas es mediante la utilización del operador suma (+
). Mediante el que se puede obtener una nueva lista simplemente escribiendo:
language1 = ['French', 'English', 'German'] language2 = ['Spanish', 'Portuguese'] result = language1 + language2 result
['French', 'English', 'German', 'Spanish', 'Portuguese']
Con lo que se obtiene una nueva lista que es la unión de ambas. Para almacenar el resultado una de las listas originales se puede asignar el resultado a esta
language1 = language1 + language2
O, alternativamente, utilizar el operador asignación de adicción (+=
). Con lo que se tiene un código más compacto.
language1 += language2
Concatenar listas con el método extend()
Otra forma para concatenar dos listas es utilizar el método extend()
de las propias listas. En este caso se concatena a la primera lista la segunda, funcionado de forma similar al operador asignación de adicción (+=
).
language1 = ['French', 'English', 'German'] language2 = ['Spanish', 'Portuguese'] language1.extend(language2) language1
['French', 'English', 'German', 'Spanish', 'Portuguese']
Comparativa de los métodos
El uso de un método u otro para concatenar listas en Python depende más de gustos personales. Ya que no existe una diferencia apreciable en cuanto tiempo de ejecución (lo que, en un notebook, se puede consultar con la extensión de Jupyter ExecuteTime
).
Duplicar listas con el operador multiplicación (*
)
De forma análoga al uso del operador suma también se puede usar el operador multiplicación para duplicar el contenido una lista. Para lo que se tiene que multiplicar una lista por un escalar.
language = ['Spanish', 'Portuguese'] result = language * 2 result
['Spanish', 'Portuguese', 'Spanish', 'Portuguese']
Como se puede pensar también es posible utilizar el operador asignación de multiplicación (*=
) reproducir el contenido de una lista y guardarla en sí misma.
language *= 2
Conclusiones
En la entrada se han visto las diferentes formas que existe para concatenar listas en Python y para duplicarlas. Las operaciones son triviales, ya que se pueden utilizar para ellos los operadores suma (+
) o multiplicación (*
). Así como sus equivalentes de asignación.
Imágenes: Pixabay (Bruno Glätsch)
No te olvides valorar esta entrada
Suscríbete a nuestro boletín
Suscríbete al boletín semanal para estar al día de todas las publicaciones de Analytics Lane.