Formas de concatenar dos listas en Python

Veamos cómo concatenar dos listas usando diferentes métodos en Python. Esta operación es útil cuando tenemos un número de listas de elementos que deben procesarse de manera similar.

Método n.º 1: uso del método ingenuo

En este método, recorremos la segunda lista y seguimos agregando elementos en la primera lista, de modo que la primera lista tenga todos los elementos en ambas listas y, por lo tanto, realice la adición.

# Python3 code to demonstrate list
# concatenation using naive method 
  
# Initializing lists
test_list1 = [1, 4, 5, 6, 5]
test_list2 = [3, 5, 7, 2, 5]
  
# using naive method to concat
for i in test_list2 :
    test_list1.append(i)
  
# Printing concatenated list
print ("Concatenated list using naive method : " 
                              + str(test_list1))
Producción:

Concatenated list using naive method : [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]

 
Método #2: Usando el operador +

El método más convencional para realizar la concatenación de listas, el uso del operador «+» puede agregar fácilmente la totalidad de una lista detrás de la otra lista y, por lo tanto, realizar la concatenación.

# Python 3 code to demonstrate list
# concatenation using + operator 
  
# Initializing lists
test_list3 = [1, 4, 5, 6, 5]
test_list4 = [3, 5, 7, 2, 5]
  
# using + operator to concat
test_list3 = test_list3 + test_list4
  
# Printing concatenated list
print ("Concatenated list using + : "
                   + str(test_list3))
Producción:

Concatenated list using + : [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]

Método #3: Usar la comprensión de listas

La comprensión de listas también puede realizar esta tarea de concatenación de listas. En este caso, se crea una nueva lista, pero este método es una alternativa de una línea al método de bucle discutido anteriormente.

# Python3 code to demonstrate list
# concatenation using list comprehension 
  
# Initializing lists
test_list1 = [1, 4, 5, 6, 5]
test_list2 = [3, 5, 7, 2, 5]
  
# using list comprehension to concat
res_list = [y for x in [test_list1, test_list2] for y in x]
  
# Printing concatenated list
print ("Concatenated list using list comprehension: "
                                     + str(res_list))
Producción:

Concatenated list using list comprehension: [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]

 
Método #4: Usarextend()

extend()es la función extendida por las listas en Python y, por lo tanto, se puede usar para realizar esta tarea. Esta función realiza la extensión in situ de la primera lista.

# Python3 code to demonstrate list
# concatenation using list.extend()
  
# Initializing lists
test_list3 = [1, 4, 5, 6, 5]
test_list4 = [3, 5, 7, 2, 5]
  
# using list.extend() to concat
test_list3.extend(test_list4)
  
# Printing concatenated list
print ("Concatenated list using list.extend() : "
                               + str(test_list3))
Producción:

Concatenated list using list.extend() : [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]

 
Método #5: Usando el operador *

Usando el operador *, este método es la nueva adición a la concatenación de listas y solo funciona en Python 3.6+. Cualquier no. de listas se pueden concatenar y devolver en una nueva lista usando este operador.

# Python3 code to demonstrate list
# concatenation using * operator
  
# Initializing lists
test_list1 = [1, 4, 5, 6, 5]
test_list2 = [3, 5, 7, 2, 5]
  
# using * operator to concat
res_list = [*test_list1, *test_list2]
  
# Printing concatenated list
print ("Concatenated list using * operator : " 
                              + str(res_list))
Producción:

Concatenated list using * operator : [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]

 
Método #6: Usaritertools.chain()

itertools.chain()devuelve el iterable después de enstringr sus argumentos en uno y, por lo tanto, no requiere almacenar la lista concatenada si solo se requiere su iteración inicial. Esto es útil cuando la lista concatenada debe usarse solo una vez.

# Python3 code to demonstrate list  
# concatenation using itertools.chain()
import itertools
  
# Initializing lists
test_list1 = [1, 4, 5, 6, 5]
test_list2 = [3, 5, 7, 2, 5]
  
# using itertools.chain() to concat
res_list = list(itertools.chain(test_list1, test_list2))
  
# Printing concatenated list
print ("Concatenated list using itertools.chain() : "
                                      + str(res_list))
Producción:

Concatenated list using itertools.chain() : [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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