Maison >développement back-end >Tutoriel Python >Quelle est la manière la plus pythonique d'effectuer une addition de vecteurs par éléments ?
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 :
from operator import add list(map(add, list1, list2))
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.
[sum(x) for x in zip(list1, list2)]
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!