Articles

Comment concaténer deux listes en Python

Introduction

Concaténation de listes l’acte de créer une seule liste à partir de plusieurs listes plus petites en les chaînant ensemble.

Il existe de nombreuses façons de concaténer des listes en Python. Plus précisément, dans cet article, nous verrons comment concaténer deux listes en Python en utilisant l’opérateur plus, l’opérateur de décompression, l’opérateur de multiplication, le manuel de concaténation de boucle, la fonction itertools.chain() et la méthode de liste intégrée extend().

Dans tous les extraits de code ci-dessous, nous utiliserons les listes suivantes :

list_a = list_b = 

Concaténation de liste d’opérateurs Plus

Le moyen le plus simple et le plus simple de concaténer deux listes en Python est l’opérateur plus (+) :

list_c = list_a + list_bprint (list_c)

Décompressez la concaténation de la liste des opérateurs

Cette méthode vous permet de joindre plusieurs listes. C’est une fonctionnalité assez nouvelle et uniquement disponible à partir de Python 3.6+. L’opérateur de décompression, comme son nom l’indique, décompresse un objet iterable dans ses éléments. Le déballage est utile lorsque nous voulons générer une pléthore d’arguments à partir d’une seule liste. Par exemple :

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 un mot, nous utilisons le constructeur de liste () et générons les éléments de la nouvelle liste dans l’ordre en décompressant plusieurs listes les unes après les autres:

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

Concaténation de liste d’opérateurs Multiply

L’opérateur multiply(*) est un cas particulier de concaténation de liste en Python. Il est utilisé pour répéter plusieurs fois une liste entière (c’est pourquoi il est noté avec un opérateur de multiplication):

print(list_a * 2)

pour la concaténation de liste de boucles

Dans cette méthode, nous parcourrons une liste tout en ajoutant chacun de ses éléments à une autre liste un par un. Une fois la boucle terminée, vous aurez une seule liste avec tous les éléments souhaités:

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

itertools.concaténation de la liste chain()

Cette méthode fonctionne avec iterables. Il construit et renvoie un itérateur qui peut ensuite être utilisé pour construire la liste chaînée (pensez-y comme une flèche qui mémorise simplement l’ordre des éléments dans la liste résultante):

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

Sous le capot, quelque chose dans ce sens est ce qui se passe:

# 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

Pour cette méthode, vous devrez importer itertools:

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

concaténation de liste extend()

Il s’agit d’une fonction intégrée qui peut être utilisée pour développer une liste. Ici, nous élargissons la première liste en y ajoutant des éléments de la deuxième liste:

list_a.extend(list_b)print (list_a)

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *