Moltiplica due liste in Python
-
Moltiplica due liste in Python usando il metodo
zip()
-
Moltiplica due liste in Python usando il metodo
numpy.multiply()
-
Moltiplica due liste in Python usando la funzione
map()
Questo tutorial mostrerà vari metodi per eseguire la moltiplicazione in termini di elementi di due liste in Python. Supponiamo di avere due liste di numeri interi con le stesse dimensioni e di voler moltiplicare gli elementi del primo lista con gli elementi nella stessa posizione nel secondo lista e ottenere una lista risultante con le stesse dimensioni.
Moltiplica due liste in Python usando il metodo zip()
Il metodo zip()
integrato in Python accetta uno o più iterabili e aggrega gli iterabili in una tupla. Come le liste [1,2,3]
e [4,5,6]
diventeranno [(1, 4), (2, 5), (3, 6)]
. Usando il metodo map()
, accediamo a entrambe le liste per elemento e otteniamo la lista richiesta usando il metodo di comprensione delle liste.
L’esempio di codice seguente mostra come creare più liste 1D e 2D utilizzando zip()
con la comprensione dell’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)
Produzione:
[8, 4, 10, 27, 35, 20]
Moltiplicazione di liste 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)
Produzione:
[[8, 4, 10], [27, 35, 20]]
Moltiplica due liste in Python usando il metodo numpy.multiply()
Il metodo multiply()
della libreria NumPy
in Python, prende due array/liste come input e restituisce un array/lista dopo aver eseguito la moltiplicazione per elemento. Questo metodo è semplice, poiché non dobbiamo fare alcun lavoro extra per la moltiplicazione 2D, ma il punto negativo di questo metodo è che non può essere utilizzato senza la libreria NumPy
.
Gli esempi di codice seguenti dimostrano come moltiplicare liste 1D e 2D in Python utilizzando il metodo numpy.multiply()
.
- Moltiplicazione 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)
Produzione:
[156 6 3 10 9 4]
- Moltiplicazione 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)
Produzione:
[[156 6 3]
[ 10 9 4]]
Moltiplica due liste in Python usando la funzione map()
La funzione map
prende una funzione e uno o più iterabili come input e restituisce un iterabile applicando la funzione fornita nelle liste di input.
Possiamo eseguire la moltiplicazione 1D e 2D per elemento di due liste in Python usando la funzione map()
passando entrambe le liste come argomenti alla funzione map()
. I seguenti esempi di codice dimostrano come possiamo usare map()
per moltiplicare due liste Python.
Codice di esempio per moltiplicazione 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)
Produzione:
[8, 4, 10, 27, 35, 20]
Codice di esempio per la moltiplicazione 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)
Produzione:
[[8, 4, 10], [27, 35, 20]]
Articolo correlato - Python List
- Converti un dizionario in una lista in Python
- Rimuovi i duplicati dall'lista in Python
- Rimuovi tutte le occorrenze di un elemento da una lista in Python
- Ottieni la media di una lista in Python
- Qual è la differenza tra i metodi di elencazione, aggiungere ed estendere
- Come convertire una lista in stringa in Python