Méthode de fusion : 1. Utilisez l'opérateur "+" pour fusionner, la syntaxe est "list1+list2" ; 2. Utilisez extend() pour fusionner, la syntaxe est "list_1.extend(list2)" ; pour fusionner, la syntaxe est "[* list_1,*list2]" ; 4. Fusionner via la fonction de chaîne, syntaxe "list(chain(list1,list2))" 5. Fusionner via Réduire, syntaxe "reduce(add,(list1); ,liste2))".
L'environnement d'exploitation de ce tutoriel : système Windows7, version python3, ordinateur DELL G3
5 façons de fusionner des listes en Python
1. Ajouter des listes directement
Fusionner des listes en Python. Le moyen le plus simple est d'utiliser directement l'opérateur +, comme le montre l'exemple suivant :
leaders_1 = ['Elon Mask', 'Tim Cook'] leaders_2 = ['Yang Zhou', 'Bill Gates'] leaders_3 = ['Jeff Bezos', 'Warren Buffet'] full_leaders_list = leaders_1 + leaders_2 + leaders_3 print(full_leaders_list) # ['Elon Mask', 'Tim Cook', 'Yang Zhou', 'Bill Gates', 'Jeff Bezos', 'Warren Buffet']
De plus, l'opérateur += prend également en charge les listes. Mais c’est ici que les choses deviennent intéressantes. Voir l'exemple suivant :
A = B = [1, 2, 3] A += [4] print(A, B) # [1, 2, 3, 4] [1, 2, 3, 4] A = A + [5] print(A, B) # [1, 2, 3, 4, 5] [1, 2, 3, 4]
Le code ci-dessus peut prêter à confusion, en particulier pour les débutants en Python.
Pourquoi A est-il égal à B la première fois mais pas la deuxième fois ?
Laissez un devoir de cours ici, j'espère que vous pourrez trouver la raison après le cours~
2. Étendre une liste
En plus de l'opérateur +=, un moyen simple d'utiliser la fusion de listes est d'utiliser extend( ) méthode.
leaders_1 = ['Elon Mask', 'Tim Cook'] leaders_2 = ['Yang Zhou', 'Bill Gates'] leaders_1.extend(leaders_2) print(leaders_1) # ['Elon Mask', 'Tim Cook', 'Yang Zhou', 'Bill Gates']
À propos, une autre méthode appelée append () est également populaire lorsqu'il s'agit de gérer des listes en Python.
Voyons ce qui se passe si nous changeons la méthode de l'exemple précédent :
leaders_1 = ['Elon Mask', 'Tim Cook'] leaders_2 = ['Yang Zhou', 'Bill Gates'] leaders_1.append(leaders_2) print(leaders_1) # ['Elon Mask', 'Tim Cook', ['Yang Zhou', 'Bill Gates']]
Comme indiqué ci-dessus, append() ajoute de nouveaux éléments à la liste, tandis que extend() rejoint la liste avec d'autres listes.
3. Fusionner des listes avec des astérisques
L'une des plus belles astuces de Python est d'utiliser des astérisques. À l'aide d'astérisques, nous pouvons déballer les listes et les rassembler. Il s’agit d’une manière vertigineuse (peut-être un peu suffisante) d’implémenter des listes fusionnées en Python.
leaders_1 = ['Elon Mask', 'Tim Cook'] leaders_2 = ['Yang Zhou', 'Bill Gates'] leaders_3 = ['Jeff Bezos', 'Warren Buffet'] full_list = [*leaders_1, *leaders_2, *leaders_3] print(full_list) # ['Elon Mask', 'Tim Cook', 'Yang Zhou', 'Bill Gates', 'Jeff Bezos', 'Warren Buffet']
4. Fusionner des listes via des fonctions de chaîne
La fonction de chaîne du module Itertools est un moyen spécial de fusionner des objets itérables en Python. Il regroupe une série d'itérations et renvoie les itérations combinées. Parce que les listes sont également itératives, nous pouvons également utiliser la fonction chaîne pour fusionner des listes :
from itertools import chain leaders_1 = ['Elon Mask', 'Tim Cook'] leaders_2 = ['Yang Zhou', 'Bill Gates'] leaders_3 = ['Jeff Bezos', 'Warren Buffet'] full_list = list(chain(leaders_1,leaders_2,leaders_3)) print(full_list) # ['Elon Mask', 'Tim Cook', 'Yang Zhou', 'Bill Gates', 'Jeff Bezos', 'Warren Buffet']
5 Fusionner les listes via la fonction Réduire
Python est un avantage pour les paresseux. Pour moi, écrire trop de + est ennuyeux quand il y a trop de listes à fusionner et je ne veux pas faire ça. Dans ce cas, nous pouvons utiliser une fonction d'ordre supérieur - réduire, ce qui nous sauve à nouveau :
from operator import add from functools import reduce A = [99, 2] B = [0, 5, 1] C = [2077, 2021] D = [0] L = reduce(add, (A, B, C, D)) print(L) # [99, 2, 0, 5, 1, 2077, 2021, 0]
Résumé
Il existe au moins 5 façons de fusionner des listes en Python. Nous ne choisissons pas nécessairement différemment à chaque fois. Cependant, lorsque vous lisez les programmes d’autres personnes, vous rencontrez inévitablement des styles de codage différents. Il est donc intéressant de vérifier différentes méthodes pour une même opération. Au moins, nous pouvons ressentir la flexibilité et l'élégance de Python
[Recommandations associées : Tutoriel vidéo Python3]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!