"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Quelle est la manière pythonique de concaténer des listes : \'extend()\' ou \'+=\' ?

Quelle est la manière pythonique de concaténer des listes : \'extend()\' ou \'+=\' ?

Publié le 2024-11-11
Parcourir:569

Which is the Pythonic Way to Concatenate Lists: \'extend()\' or \' =\'?

Concaténation de listes : ' ' vs. 'extend()'

Lorsque vous travaillez avec des listes en Python, vous pouvez rencontrer deux manières courantes de concaténez-les (combinez-les) : la méthode extend() et l'opérateur plus(). Cet article explore leurs différences et donne un aperçu de la manière « pythonique » d'effectuer la concaténation de listes.

Méthode 'extend()'

La méthode extend() vous permet pour ajouter les éléments d'une autre liste à la liste d'origine. Il ne modifie pas la liste d'origine mais renvoie Aucun.

a = [1, 2]
b = [2, 3]
b.extend(a)

Après cette opération, b contiendra les éléments de a et b : [2, 3, 1, 2].

' =' Opérateur

L'opérateur = effectue un ajout sur place sur la liste. Il modifie directement la liste d'origine et y ajoute les éléments de l'autre liste.

b  = a

Ici, b contiendra également les éléments combinés : [2, 3, 1, 2].

Qu'est-ce que Pythonic ?

Les deux méthodes sont considérées comme « pythoniques » et ont leurs propres utilisations. Cependant, l'opérateur plus ( ) est généralement préféré car il fournit une syntaxe plus concise et cohérente pour la concaténation de listes. Il est également légèrement plus rapide au niveau du bytecode car il évite un appel de fonction impliqué avec extend().

Différence d'exécution

La seule différence notable entre les deux méthodes est dans leur exécution. extend() implique un appel de fonction, qui est légèrement plus coûteux en Python que l'ajout sur place effectué par l'opérateur =.

Conclusion

Lors de la concaténation de listes dans Python, l'opérateur ' ' est l'approche "pythonique" préférée. Bien que extend() puisse être utile dans certaines circonstances, l'opérateur = offre une syntaxe concise, une modification sur place et une exécution légèrement plus rapide. Cependant, les optimisations des performances ne devraient pas constituer une préoccupation majeure à moins que la concaténation des listes ne soit effectuée de manière excessive.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3