Calculer le produit scalaire de deux listes en Python
-
Utilisation des fonctions
sum()
etzip()
pour calculer le produit scalaire en Python -
Calculer le produit scalaire à l’aide des fonctions
map()
etmul()
en Python -
Calculer le produit scalaire à l’aide de
more_itertools.dotproduct
en Python - Calculer le produit scalaire à l’aide de NumPy en Python
Le produit scalaire est une opération mathématique également connue sous le nom de produit scalaire. Un produit scalaire est une expression algébrique qui prend une séquence de deux longueurs égales et renvoie un seul nombre en conséquence.
Utilisation des fonctions sum()
et zip()
pour calculer le produit scalaire en Python
Nous pouvons calculer le produit scalaire de listes de longueur égale en utilisant la fonction zip()
et la fonction sum()
.
La fonction zip
renvoie un objet zip en combinant des éléments dans une séquence de tuples des deux itérables. D’autre part, la fonction sum
renvoie la somme des éléments dans les itérables tels que les listes.
Étant donné que le produit scalaire implique mathématiquement une série de sommes et de produits d’éléments de la séquence de nombres, nous pouvons calculer le produit scalaire de deux listes en utilisant les combinaisons de ces deux.
num1 = [2, 4, 6, 8, 10]
num2 = [10, 20, 30, 40, 50]
print(sum([i * j for (i, j) in zip(num1, num2)]))
Production :
1100
Calculer le produit scalaire à l’aide des fonctions map()
et mul()
en Python
Le module operator
en Python fournit un ensemble de fonctions permettant d’importer et d’utiliser des opérateurs intrinsèques en Python pour effectuer diverses opérations.
Ces opérations comprennent les opérations logiques, les opérations de séquence, les opérations mathématiques et la comparaison d’objets. La fonction mul()
effectue la multiplication élément par élément d’objets avec une série de nombres tels que des trames de données.
D’autre part, la fonction map()
est une fonction intégrée qui nous permet d’appliquer une certaine fonction à tous les éléments d’un itérable. Enfin, nous utiliserions également la fonction sum()
pour calculer la somme des produits à partir des deux listes de valeurs numériques, comme indiqué dans le code ci-dessous.
from operator import mul
num1 = [2, 4, 6, 8, 10]
num2 = [10, 20, 30, 40, 50]
print(sum(map(mul, num1, num2)))
Production :
1100
Calculer le produit scalaire à l’aide de more_itertools.dotproduct
en Python
Python more_itertools
est une bibliothèque Python qui fournit des fonctions élégantes pour travailler avec des itérables en Python. Les fonctions fournies par la bibliothèque more_itertools
nous permettent de regrouper et de sélectionner des itérables parmi d’autres opérations telles que le fenêtrage, la combinatoire et l’habillage.
La bibliothèque more_itertools
ne fournit pas seulement des solutions pour des itérations complexes ; il est également plus élégant et économe en mémoire. En utilisant la fonction more_itertools.product()
, nous pouvons calculer le produit scalaire d’une séquence de nombres dans une liste comme indiqué ci-dessous.
import more_itertools as mit
num1 = [2, 4, 6, 8, 10]
num2 = [10, 20, 30, 40, 50]
print(mit.dotproduct(num1, num2))
Production :
1100
Calculer le produit scalaire à l’aide de NumPy en Python
NumPy est un package Python scientifique qui nous permet de travailler avec des objets multidimensionnels tels que des tableaux et des matrices.
NumPy est rapide mais plus efficace car nous pouvons faire beaucoup en utilisant très peu de code. Nous pouvons travailler de manière transparente avec des tableaux sans indexation explicite ni boucle dans son code vectorisé.
Vous trouverez ci-dessous une solution qui utilise une boucle for et la combinaison du produit et de l’opérateur d’addition pour calculer le produit scalaire de deux listes.
num1 = [2, 4, 6, 8, 10]
num2 = [10, 20, 30, 40, 50]
dot_product = 0
for x, y in zip(num1, num2):
dot_product = dot_product + x * y
print("The dot product of the two lists is: ", dot_product)
Production :
The dot product of the two lists is: 1100
Bien que cette solution calcule le produit scalaire, NumPy offre une alternative plus élégante sans écrire de boucle.
En utilisant la méthode numpy.dot()
, nous pouvons facilement calculer le produit scalaire d’une séquence de nombres dans deux listes. Cette solution est précise et donc peu sujette aux erreurs et peut être implémentée dans le code ci-dessous.
import numpy as np
num1 = [2, 4, 6, 8, 10]
num2 = [10, 20, 30, 40, 50]
dot_product = np.dot(num1, num2)
print("The dot product of the two lists is: ", dot_product)
Production :
The dot product of the two lists is: 1100
Isaac Tony is a professional software developer and technical writer fascinated by Tech and productivity. He helps large technical organizations communicate their message clearly through writing.
LinkedInArticle connexe - Python List
- Convertir un dictionnaire en liste en Python
- Supprimer toutes les occurrences d'un élément d'une liste en Python
- Supprimer les doublons de la liste en Python
- Comment obtenir la moyenne d'une liste en Python
- Quelle est la différence entre les méthodes de liste append et extend
- Comment convertir une liste en chaîne de caractères en Python