Comment fusionner deux listes en Python (concaténer et étendre)
Découvrez les meilleures façons de fusionner et de combiner deux listes en Python. Comparez l'opérateur plus, la méthode d'extension, le déballage de liste et les options de chaîne.
Aperçu
La combinaison d'ensembles de données de liste est une opération fréquente lors de l'agrégation de résultats, du traitement de lots de données ou de l'ajout d'éléments à une collection. Python propose plusieurs façons de fusionner des listes, selon que vous souhaitez modifier une liste sur place ou créer une nouvelle liste.
Pour créer une toute nouvelle liste en combinant deux listes existantes, l'approche la plus simple consiste à utiliser l'opérateur de concaténation « + » (par exemple, « liste3 = liste1 + liste2 »). Alternativement, dansPython 3.5+, vous pouvez utiliser la syntaxe de décompression de liste `[*list1, *list2]`, qui est très expressive et vous permet d'injecter facilement des éléments supplémentaires n'importe où dans la création de la liste.
Si vous souhaitez modifier une liste existante sur place en ajoutant des éléments d'une autre liste, la méthode `.extend()` est le choix le plus efficace. Cela évite d'allouer de la mémoire pour une nouvelle liste et modifie directement la liste cible. Pour un parcours efficace en mémoire des listes fusionnées sans dupliquer les données en mémoire, vous pouvez utiliser `itertools.chain()`.
Sortie de code et d'exécution
Ce script montre la fusion de deux listes à l'aide d'opérateurs, d'extensions et de techniques de décompression.
list_a = [1, 2, 3]
list_b = [4, 5, 6]
# 1. Plus operator (creates a new list)
merged_plus = list_a + list_b
print("Using + operator:", merged_plus)
# 2. Unpacking operator (creates a new list)
merged_unpack = [*list_a, *list_b]
print("Using unpacking:", merged_unpack)
# 3. Extend method (modifies list_a in-place)
list_a.extend(list_b)
print("After extending list_a:", list_a)Using + operator: [1, 2, 3, 4, 5, 6]
Using unpacking: [1, 2, 3, 4, 5, 6]
After extending list_a: [1, 2, 3, 4, 5, 6]Mise en œuvre étape par étape
- Utilisez l'opérateur + pour fusionner des listes et renvoyer une nouvelle liste combinée.
- Appelez list_a.extend(list_b) pour ajouter tous les éléments de list_b directement dans list_a.
- Utilisez l'opérateur de décompression astérisque [*list_a, *list_b] pour construire une liste à partir d'éléments des deux.
Foire aux questions
Quelle est la différence entre append() et extend() ?
append() ajoute l'argument de liste entier sous la forme d'un seul élément imbriqué, tandis que extend() décompresse l'argument de liste et ajoute chaque élément individuellement.
Comment fusionner des listes tout en supprimant les doublons ?
Vous pouvez les fusionner puis convertir le résultat en un ensemble, ou les convertir d'abord en ensembles : list(set(list_a) | set(list_b)).
Sujets connexes
Apprenez à trier une liste en Python à l'aide de la méthode sort() et de la fonction sorted(). Découvrez des exemples de tri de clés personnalisé et d’ordre inverse.
Comment vérifier si une liste est vide en PythonDécouvrez les méthodes les plus pythoniques pour vérifier si une liste est vide en Python. Comparez les vérifications booléennes implicites avec les comparaisons de longueur.
Ressources Python recommandées
Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.
Listes Python
Apprenez tout sur les listes Python. Découvrez comment créer, découper, modifier et parcourir des tableaux en Python de manière native.
Aide-mémoire sur les méthodes de chaîne Python
Un guide de référence complet pour la manipulation des chaînes Python. Maîtrisez le formatage, la recherche, le fractionnement, le remplacement et la vérification des propriétés des chaînes.
Python vs JavaScript : quel langage de programmation est le meilleur ?
Une comparaison complète entre Python et JavaScript. Explorez les différences de syntaxe, les performances, les cas d'utilisation (backend et frontend) et des exemples de codage.