logo

Fusionner deux listes en Python

Voyons comment concaténer deux listes en utilisant différentes méthodes dans Python . Cette opération est utile lorsque nous disposons d’un certain nombre de listes d’éléments qui doivent être traités de la même manière.

  Input:    test_list1 = [1, 4, 5, 6, 5]  test_list2 = [3, 5, 7, 2, 5]   Output:    [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]   Explanation:   The output list is the list we get from Merging both the input list.>

Python rejoint deux listes

Vous trouverez ci-dessous les méthodes que nous aborderons dans cet article :

imprimer un tableau en Java

Fusionner deux listes en Python en utilisant la méthode naïve

Dans cette méthode, nous parcourons la deuxième liste et gardons les éléments ajoutés dans la première liste, de sorte que la première liste contienne tous les éléments des deux listes et effectue donc la ajouter.



Python3




# 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))>

>

>

Sortir

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

Complexité temporelle : O(n + m), où n et m sont respectivement les longueurs des test_list1 et test_list2 donnés.
Espace auxiliaire : O(m)

Concaténer deux listes à l'aide de l'opérateur +

La méthode la plus conventionnelle pour effectuer la concaténation de listes, l'utilisation de + opérateur peut facilement ajouter l'intégralité d'une liste derrière l'autre liste et ainsi effectuer la enchaînement.

Python3




# 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))>

>

>

Sortir

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

Complexité temporelle : O(n), où n est le nombre total d'éléments dans les deux listes, car l'opérateur + parcourt tous les éléments des deux listes pour les concaténer.
Espace auxiliaire : O(n), où n est le nombre total d'éléments dans les deux listes, car une nouvelle liste est créée pour stocker la liste concaténée.

Fusionner deux listes en Python en utilisant la compréhension de liste

Compréhension de la liste peut également accomplir cette tâche de concaténation de listes. Dans ce cas, une nouvelle liste est créée, mais cette méthode est une alternative à une seule ligne à la méthode de boucle décrite ci-dessus.

Python3




# 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))>

>

>

Sortir

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

Complexité temporelle : O(n + m), où n et m sont la longueur de test_list1 et test_list2 donnés
Espace auxiliaire : O(k), où k est la longueur de res_list.

Fusionner deux listes en utilisant extend()

Le étendre() est la fonction étendue par les listes en Python et peut donc être utilisée pour effectuer cette tâche. Cette fonction effectue l'extension sur place de la première liste.

Python3




# 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))>

>

>

Sortir

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

Python Joignez-vous à deux listes à l'aide de l'opérateur *

Utilisant l'opérateur *, cette méthode est un nouvel ajout à la concaténation de listes et ne fonctionne que dans Python 3.6+. N'importe quel non. des listes peuvent être concaténées et renvoyées dans une nouvelle liste à l’aide de cet opérateur.

Python3




# 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))>

>

>

Sortir

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

Python Joignez-vous à deux listes en utilisant itertools.chain()

Le itertools.chain() renvoie l'itérable après avoir enchaîné ses arguments en un seul et ne nécessite donc pas de stocker la liste concaténée si seule son itération initiale est requise. Ceci est utile lorsque la liste concaténée doit être utilisée une seule fois.

Python3




# 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))>

>

>

Sortir

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

Concaténer deux listes en utilisant la fonction réduire()

Tout d’abord, nous devons importer la fonction de réduction de outils fonctionnels bibliothèque. Initialisez ensuite deux variables contenant deux listes différentes. Nous allons maintenant utiliser une autre liste dans laquelle nous stockerons toutes les listes prises à l’étape précédente. Nous devons former une liste imbriquée. Nous allons maintenant utiliser la fonction réduire() et transmettre cette liste imbriquée comme paramètre aux côtés de deux variables (si nous choisissons d'avoir deux listes). Et utilisez la fonction Anonyme lambda pour effectuer l'opération de concaténation et la stocker dans une liste.

dérivé partiel en latex

Python3




from> functools>import> reduce> test_list1>=> [>1>,>4>,>5>,>6>,>5>]> test_list2>=> [>3>,>5>,>7>,>2>,>5>]> nested_list>=> [test_list1,test_list2]> print>(>reduce>(>lambda> i,j:i>+>j,nested_list,[]))>

>

>

Sortir

[1, 4, 5, 6, 5, 3, 5, 7, 2, 5]>

Complexité temporelle : O(n+m), n est la longueur de la première liste et m est la longueur de la deuxième liste.
Espace auxiliaire : O(n), n est le nombre de listes prises en compte