Articles

Cómo concatenar dos Listas en Python

Introducción

Concatenación de listas el acto de crear una sola lista a partir de varias listas más pequeñas encadenándolas juntas.

Hay muchas formas de concatenar listas en Python. Específicamente, en este artículo, veremos cómo concatenar dos listas en Python usando el operador plus, el operador desempaquetar, el operador multiplicar, el manual para la concatenación de bucles, la función itertools.chain() y el método de lista incorporado extend().

En todos los fragmentos de código a continuación, haremos uso de las siguientes listas:

list_a = list_b = 

Concatenación de listas de operadores Plus

La forma más sencilla y directa de concatenar dos listas en Python es el operador plus (+):

list_c = list_a + list_bprint (list_c)

Descomprimir la Concatenación de listas de operadores

Este método le permite unirse a varias listas. Es una característica bastante nueva y solo está disponible en Python 3.6+. El operador de desempaquetado, como su nombre lo indica, desempaqueta un objeto iterable en sus elementos. El desempaquetado es útil cuando queremos generar una gran cantidad de argumentos a partir de una sola lista. Por ejemplo:

def foo(a, b, c, d): return a + b + c + d# We want to use the arguments of the following list with the foo function.# However, foo doesn't take a list, it takes 4 numbers, which is why we need to# unpack the list.foo(*list_a)# This is the same as if we were to call foo(1,2,3,4)
10

En pocas palabras, usamos el constructor de listas () y generamos los elementos de la nueva lista en orden desempaquetando varias listas una tras otra:

list_c = # This is the same as:# list_c = print (list_c)

Concatenación de lista de operadores de multiplicación

El operador de multiplicación (*) es un caso especial de concatenación de listas en Python. Se utiliza para repetir una lista entera varias veces (por lo que se denota con un operador de multiplicación):

print(list_a * 2)

para la Concatenación de Listas de bucles

En este método recorreremos una lista mientras agregamos cada uno de sus elementos a otra lista uno por uno. Cuando termine el bucle, tendrá una sola lista con todos los elementos deseados:

for i in list_b: list_a.append(i)print (list_a)

itertools.concatenación de lista chain ()

Este método funciona con iterables. Construye y devuelve un iterador que luego se puede usar para construir la lista encadenada (piense en ello como una flecha que solo memoriza el orden de los elementos en la lista resultante):

# If we were to call itertools.chain() like soiterator = itertools.chain(, )# Basically the iterator is an arrow which can give us the next() element in a sequence, so if we call a list() constructor with said iterable, it works like this:list(iterator)

Debajo del capó, algo a lo largo de estas líneas es lo que sucede:

# Iterator: The next element in this list is 1 , ^# Iterator: The next element in this list is 2, ^# Iterator: The next element in this list is 3 , ^# Iterator: The next element in this list is 4 , ^# So the list() call looks something like:list()# Keep in mind this is all pseudocode, Python doesn't give the developer direct control over the iterator

Por este método, tendrá que importar itertools:

import itertoolslist_c = list(itertools.chain(list_a, list_b))print (list_c)

extender() Lista de Concatenación

Este es aa construido-es la función que puede ser usado para expandir una lista. Aquí estamos expandiendo la primera lista agregando elementos de la segunda lista:

list_a.extend(list_b)print (list_a)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *