Multiplier deux listes en Python
-
Multiplier deux listes en Python en utilisant la méthode
zip()
-
Multiplier de deux listes en Python en utilisant la méthode
numpy.multiply()
-
Multiplier deux listes en Python en utilisant la fonction
map()
Ce tutoriel présente différentes méthodes pour effectuer une multiplication par éléments de deux listes en Python. Supposons que nous ayons deux listes d’entiers de mêmes dimensions et que nous souhaitions multiplier les éléments de la première liste par les éléments de la deuxième liste situés à la même position et obtenir une liste résultante de mêmes dimensions.
Multiplier deux listes en Python en utilisant la méthode zip()
La méthode intégrée zip()
en Python prend un ou plusieurs iterables et les agrège en un tuple. Comme les listes [1,2,3]
et [4,5,6]
deviendront [(1, 4), (2, 5), (3, 6)]
. En utilisant la méthode map()
, nous accédons aux deux listes par élément et obtenons la liste requise en utilisant la méthode de compréhension de liste.
L’exemple de code ci-dessous montre comment multiplier les listes 1D et 2D en utilisant zip()
avec la compréhension de liste.
list1 = [2, 4, 5, 3, 5, 4]
list2 = [4, 1, 2, 9, 7, 5]
product = [x * y for x, y in zip(list1, list2)]
print(product)
Production :
[8, 4, 10, 27, 35, 20]
Multiplication des listes 2D :
list1 = [[2, 4, 5], [3, 5, 4]]
list2 = [[4, 1, 2], [9, 7, 5]]
product = [[0] * 3] * 2
for x in range(len(list1)):
product[x] = [a * b for a, b in zip(list1[x], list2[x])]
print(product)
Production :
[[8, 4, 10], [27, 35, 20]]
Multiplier de deux listes en Python en utilisant la méthode numpy.multiply()
La méthode multiply()
de la bibliothèque NumPy
en Python, prend deux tableaux/listes en entrée et retourne un tableau/liste après avoir effectué une multiplication par éléments. Cette méthode est simple, car nous n’avons pas de travail supplémentaire à faire pour la multiplication 2D, mais le point négatif de cette méthode est qu’elle ne peut pas être utilisée sans la bibliothèque NumPy
.
Les exemples de code ci-dessous montrent comment multiplier des listes 1D et 2D en Python en utilisant la méthode numpy.multiply()
.
- Multiplication 1D :
import numpy as np
list1 = [12, 3, 1, 2, 3, 1]
list2 = [13, 2, 3, 5, 3, 4]
product = np.multiply(list1, list2)
print(product)
Production :
[156 6 3 10 9 4]
- Multiplication 2D :
import numpy as np
list1 = [[12, 3, 1], [2, 3, 1]]
list2 = [[13, 2, 3], [5, 3, 4]]
product = np.multiply(list1, list2)
print(product)
Production :
[[156 6 3]
[ 10 9 4]]
Multiplier deux listes en Python en utilisant la fonction map()
La fonction map
prend une fonction et un ou plusieurs itérables en entrée et renvoie un itérable en appliquant la fonction fournie sur les listes d’entrée.
Nous pouvons effectuer une multiplication par éléments 1D et 2D de deux listes en Python en utilisant la fonction map()
en passant les deux listes comme arguments à la fonction map()
. Les exemples de code ci-dessous montrent comment nous pouvons utiliser la fonction map()
pour multiplier deux listes en Python.
Exemple de code pour la multiplication 1D :
list1 = [2, 4, 5, 3, 5, 4]
list2 = [4, 1, 2, 9, 7, 5]
product = list(map(lambda x, y: x * y, list1, list2))
print(product)
Production :
[8, 4, 10, 27, 35, 20]
Exemple de code pour la multiplication 2D :
list1 = [[2, 4, 5], [3, 5, 4]]
list2 = [[4, 1, 2], [9, 7, 5]]
product = [[0] * 3] * 2
for x in range(len(list1)):
product[x] = list(map(lambda a, b: a * b, list1[x], list2[x]))
print(product)
Production :
[[8, 4, 10], [27, 35, 20]]
Article 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