Maison > développement back-end > Tutoriel Python > Quelle est la manière la plus pythonique d'effectuer une addition de vecteurs par éléments ?

Quelle est la manière la plus pythonique d'effectuer une addition de vecteurs par éléments ?

Susan Sarandon
Libérer: 2024-11-29 01:39:11
original
594 Les gens l'ont consulté

What's the Most Pythonic Way to Perform Element-wise Vector Addition?

Addition de vecteurs par éléments : les approches les plus pythoniques

Supposons que vous ayez deux listes, list1 et list2, et que vous souhaitiez effectuer une ajout élément par élément, résultant en une nouvelle liste. Quelle est la manière la plus Pythonique d'y parvenir ?

Pour éviter la tâche potentiellement lente et verbeuse de parcourir les listes, il existe deux options Pythoniques très efficaces :

  1. Utilisation de map avec Operator.add :
from operator import add
list(map(add, list1, list2))
Copier après la connexion

Cette approche utilise la fonction map() pour appliquer l'ajout opération du module opérateur vers chaque paire d’éléments correspondante dans les listes. Le résultat est un objet générateur qui est converti en liste.

  1. Emploi d'une compréhension de liste avec zip :
[sum(x) for x in zip(list1, list2)]
Copier après la connexion

Ici, zip () combine les éléments des deux listes en paires, où chaque paire représente les éléments correspondants à ajouter. La compréhension de la liste parcourt ensuite ces paires et utilise sum() pour accumuler leurs valeurs, produisant ainsi le résultat d'addition élément par élément souhaité sous forme de liste.

Pour les grandes listes, envisagez d'utiliser le plus rapide itertools.izip au lieu de zip pour l'optimisation des performances. Cependant, les deux approches offrent une excellente efficacité dans la plupart des scénarios.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal