Multiplique duas listas em Python
-
Multiplique duas listas em Python usando o método
zip()
-
Multiplique duas listas em Python usando o método
numpy.multiply()
-
Multiplique duas listas em Python usando a função
map()
Este tutorial demonstrará vários métodos para realizar a multiplicação por elemento de duas listas em Python. Suponha que temos duas listas de inteiros com as mesmas dimensões e queremos multiplicar os elementos da primeira lista com os elementos da mesma posição na segunda lista e obter uma lista resultante com as mesmas dimensões.
Multiplique duas listas em Python usando o método zip()
O método integrado zip()
em Python pega um ou mais iteráveis e agrega os iteráveis em uma tupla. Como as listas [1,2,3]
e [4,5,6]
se tornará [(1, 4), (2, 5), (3, 6)]
. Usando o método map()
, acessamos ambas as listas por elemento e obtemos a lista necessária usando o método de compreensão de lista.
O exemplo de código abaixo mostra como múltiplas listas 1D e 2D usando zip()
com a compreensão da lista.
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)
Resultado:
[8, 4, 10, 27, 35, 20]
Multiplicação de listas 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)
Resultado:
[[8, 4, 10], [27, 35, 20]]
Multiplique duas listas em Python usando o método numpy.multiply()
O método multiply()
da biblioteca NumPy
em Python, leva dois arrays / listas como entrada e retorna um array / lista após realizar a multiplicação elemento a elemento. Este método é direto, pois não temos que fazer nenhum trabalho extra para a multiplicação 2D, mas o ponto negativo deste método é que ele não pode ser usado sem a biblioteca NumPy
.
Os exemplos de código a seguir demonstram como multiplicar listas 1D e 2D em Python usando o método numpy.multiply()
.
- multiplicação 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)
Resultado:
[156 6 3 10 9 4]
- Multiplicação 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)
Resultado:
[[156 6 3]
[ 10 9 4]]
Multiplique duas listas em Python usando a função map()
A função map
recebe uma função e um ou mais iteráveis como entrada e retorna um iterável aplicando a função fornecida nas listas de entrada.
Podemos realizar a multiplicação de elementos 1D e 2D de duas listas em Python usando a função map()
, passando ambas as listas como argumentos para a função map()
. Os exemplos de código a seguir demonstram como podemos usar map()
para multiplicar duas listas Python.
Código de exemplo para multiplicação 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)
Resultado:
[8, 4, 10, 27, 35, 20]
Código de exemplo para multiplicação 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)
Resultado:
[[8, 4, 10], [27, 35, 20]]