Comment concaténer deux ou plusieurs listes en Python
-
+
pour concaténer deux listes en Python -
+=
pour concaténer deux listes en place dans Python -
La méthode
itertools.chain
concatène deux listes en Python -
La méthode
extend()
pour concaténer des listes en Python -
Méthode de décompression
[*a, *b]
dans la concaténation de listes Python - Conclusion
Une liste en Python est une structure de données qui contient une collection ordonnée d’éléments.
Une opération pour coller deux listes ensemble est appelée concaténation. Vous pouvez concaténer deux listes en Python soit en place soit déplacé.
Supposons que nous ayons deux listes à concaténer,
list1 = [1, 2, 3, 4]
list2 = [5, 6, 7, 8]
Nous pourrions avoir plusieurs méthodes pour les concaténer, mais elles diffèrent dans la performance lorsque la longueur augmente ou que le nombre de listes concaténées augmente.
Nous allons présenter ces différentes méthodes et vous donner la comparaison des performances.
+
pour concaténer deux listes en Python
L’opérateur +
peut concaténer deux listes et renvoyer une nouvelle liste.
>>> list1 = [1, 2, 3, 4]
>>> list2 = [5, 6, 7, 8]
>>> result = list1 + list2
>>> result
[1, 2, 3, 4, 5, 6, 7, 8]
+=
pour concaténer deux listes en place dans Python
+=
est similaire à la méthode ci-dessus, mais il va changer les données de la première liste en place.
>>> list1 = [1, 2, 3, 4]
>>> list2 = [5, 6, 7, 8]
>>> list1 += list2
>>> list1
[1, 2, 3, 4, 5, 6, 7, 8]
La méthode itertools.chain
concatène deux listes en Python
Chaîne du module itertools
traite les séquences consécutives comme une seule séquence,
>>> list1 = [1, 2, 3, 4]
>>> list2 = [5, 6, 7, 8]
>>> import itertools
>>> result = list(itertools.chain(list1, list2))
[1, 2, 3, 4, 5, 6, 7, 8]
itertools.chain
a un constructeur alternatif - intertools.chain.from_iterable()
. Il a un seul argument itérable dont les entrées sont évaluées paresseusement.La méthode extend()
pour concaténer des listes en Python
La méthode list extend
étend la liste en ajoutant des éléments de l’itérable.
>>> list1 = [1, 2, 3, 4]
>>> list2 = [5, 6, 7, 8]
>>> list1.extend(list2)
>>> list1
[1, 2, 3, 4, 5, 6, 7, 8]
Elle modifie également les données de la liste existante en place plutôt que de retourner une nouvelle liste.
Méthode de décompression [*a, *b]
dans la concaténation de listes Python
Des décompression supplémentaires comme *
pour l’opérateur de décompression itérable et **
pour l’opérateur de décompression de dictionnaire sont étendues à partir de Python 3.5 comme expliqué dans PEP-0448.
>>> list1 = [1, 2, 3, 4]
>>> list2 = [5, 6, 7, 8]
>>> result = [*list1, list2]
>>> result
[1, 2, 3, 4, 5, 6, 7, 8]
Cette méthode ne pourrait pas être applicable au cas de N listes, à moins que vous ne souhaitiez décompresser chaque liste manuellement.
>>> A = [1,2,3]
>>> B = [4,5,6]
>>> C = [7,8,9]
>>> [*t for t in [A,B,C]]
SyntaxError: iterable unpacking cannot be used in comprehension
Conclusion
Version | En place ? | |
---|---|---|
a + b |
- | Non |
list(intertools.chain(a,b)) |
>=2.3 | Non |
[*a, *b] |
>=3.5 | Non |
a += b |
- | Oui |
a.extend(b) |
- | Oui |
Nous utilisons le module perfplot
pour comapare la performance des méthodes ci-dessus.
Comme le montre le graphique, les méthodes a.extend(b)
et a+b
sont presque les mêmes dans la performance et les meilleures parmi toutes les méthodes. La méthode list(chain(a,b))
a la plus mauvaise performance.
Aditya Raj is a highly skilled technical professional with a background in IT and business, holding an Integrated B.Tech (IT) and MBA (IT) from the Indian Institute of Information Technology Allahabad. With a solid foundation in data analytics, programming languages (C, Java, Python), and software environments, Aditya has excelled in various roles. He has significant experience as a Technical Content Writer for Python on multiple platforms and has interned in data analytics at Apollo Clinics. His projects demonstrate a keen interest in cutting-edge technology and problem-solving, showcasing his proficiency in areas like data mining and software development. Aditya's achievements include securing a top position in a project demonstration competition and gaining certifications in Python, SQL, and digital marketing fundamentals.
GitHubArticle connexe - Python List
- Convertir un dictionnaire en liste en Python
- Supprimer toutes les occurrences d'un élément d'une liste en Python
- Supprimer les doublons de la liste en Python
- Comment obtenir la moyenne d'une liste en Python
- Quelle est la différence entre les méthodes de liste append et extend
- Comment convertir une liste en chaîne de caractères en Python