Maison  >  Article  >  développement back-end  >  Comment fusionner deux listes en python

Comment fusionner deux listes en python

青灯夜游
青灯夜游original
2023-01-05 17:20:3015596parcourir

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))".

Comment fusionner deux listes en python

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn