Recherche de site Web

6 façons de concaténer des listes en Python


Dans ce tutoriel, nous allons dévoiler différentes méthodes pour concaténer ou combiner plusieurs listes en Python. Les listes Python servent à stocker des éléments homogènes et à effectuer des manipulations sur ceux-ci.

En général, la concaténation est le processus de jointure des éléments d'une structure de données particulière de manière séquentielle.

Voici les 6 façons de concaténer des listes en Python.

  1. opérateur de concaténation (+)
  2. Méthode Naïve
  3. Compréhension de liste
  4. méthode extend()
  5. opérateur ‘*’
  6. méthode itertools.chain()

Opérateur de concaténation (+) pour la concaténation de listes

L'opérateur '+' peut être utilisé pour concaténer deux listes. Il ajoute une liste à la fin de l'autre liste et donne comme résultat une nouvelle liste en sortie.

Exemple :

list1 = [10, 11, 12, 13, 14] 
list2 = [20, 30, 42] 


res = list1 + list2 


print ("Concatenated list:\n" + str(res)) 

Sortie :

Concatenated list:
[10, 11, 12, 13, 14, 20, 30, 42]

Méthode naïve pour la concaténation de listes

Dans la méthode naïve, une boucle for est utilisée pour parcourir la deuxième liste. Après cela, les éléments de la deuxième liste sont ajoutés à la première liste. La première liste résulte de la concaténation de la première et de la deuxième liste.

Exemple :

list1 = [10, 11, 12, 13, 14] 
list2 = [20, 30, 42] 

print("List1 before Concatenation:\n" + str(list1))
for x in list2 : 
    list1.append(x) 


print ("Concatenated list i.e. list1 after concatenation:\n" + str(list1)) 

Sortie :

List1 before Concatenation:
[10, 11, 12, 13, 14]
Concatenated list i.e. list1 after concatenation:
[10, 11, 12, 13, 14, 20, 30, 42]

Compréhension de liste pour concaténer des listes

La compréhension de liste en Python est une méthode alternative pour concaténer deux listes en Python. La compréhension de liste est essentiellement le processus de construction/génération d'une liste d'éléments à partir d'une liste existante.

Il utilise une boucle for pour traiter et parcourir la liste de manière élément par élément. La boucle for en ligne ci-dessous est équivalente à une boucle for imbriquée.

Exemple :

list1 = [10, 11, 12, 13, 14] 
list2 = [20, 30, 42] 

res = [j for i in [list1, list2] for j in i] 

print ("Concatenated list:\n"+ str(res)) 

Sortie :

Concatenated list:
 [10, 11, 12, 13, 14, 20, 30, 42]

Méthode extend() de Python pour la concaténation de listes

La méthode extend() de Python peut être utilisée pour concaténer deux listes en Python. La fonction extend() itère sur le paramètre passé et ajoute l'élément à la liste, étendant ainsi la liste de manière linéaire.

Syntaxe :

list.extend(iterable)

Exemple :

list1 = [10, 11, 12, 13, 14] 
list2 = [20, 30, 42] 
print("list1 before concatenation:\n" + str(list1))
list1.extend(list2) 
print ("Concatenated list i.e ,ist1 after concatenation:\n"+ str(list1)) 

Tous les éléments de la liste2 sont ajoutés à la liste1 et ainsi la liste1 est mise à jour et donne le résultat en sortie.

Sortie :

list1 before concatenation:
[10, 11, 12, 13, 14]
Concatenated list i.e ,ist1 after concatenation:
[10, 11, 12, 13, 14, 20, 30, 42]

L'opérateur ‘*’ en Python pour la concaténation de listes

L'opérateur '*' de Python peut être utilisé pour concaténer facilement deux listes en Python.

L'opérateur ‘*’ en Python décompacte essentiellement la collection d'éléments aux arguments d'index.

Par exemple : Considérons une liste my_list=[1, 2, 3, 4].

L'instruction *my_list remplacerait la liste par ses éléments aux positions d'index. Ainsi, elle décompresse les éléments des listes.

Exemple :

list1 = [10, 11, 12, 13, 14] 
list2 = [20, 30, 42] 

res = [*list1, *list2] 
  
print ("Concatenated list:\n " + str(res)) 

Dans l'extrait de code ci-dessus, l'instruction res=[*list1, *list2] remplace list1 et list2 par les éléments dans l'ordre donné, c'est-à-dire que les éléments de list1 viennent après les éléments de list2. Cela effectue une concaténation et produit le résultat ci-dessous.

Sortie :

Concatenated list:
 [10, 11, 12, 13, 14, 20, 30, 42]

La méthode itertools.chain() de Python pour concaténer des listes

La fonction itertools.chain() du module itertools de Python peut également être utilisée pour concaténer des listes en Python.

La fonction itertools.chain() accepte différents itérables tels que des listes, des chaînes de caractères, des tuples, etc. en tant que paramètres et fournit en sortie une séquence de ces derniers.

Cela se révèle être une séquence linéaire. Le type de données des éléments n'affecte pas le fonctionnement de la méthode chain() .

Par exemple : L'instruction itertools.chain([1, 2], ['John', 'Bunny']) produirait la sortie suivante : 1 2 John Bunny.

Exemple :

import itertools
list1 = [10, 11, 12, 13, 14] 
list2 = [20, 30, 42] 

res = list(itertools.chain(list1, list2)) 
   
  
print ("Concatenated list:\n " + str(res)) 

Sortie :

Concatenated list:
 [10, 11, 12, 13, 14, 20, 30, 42]

Conclusion

Ainsi, dans cet article, nous avons compris et mis en œuvre différentes manières de concaténer des listes en Python.