Multiplizieren zweier Listen in Python

Muhammad Waiz Khan 30 Januar 2023
  1. Multiplizieren zweier Listen in Python mit der Methode zip()
  2. Multiplikation zweier Listen in Python mit der Methode numpy.multiply()
  3. Multiplizieren zweier Listen in Python mit der Funktion map()
Multiplizieren zweier Listen in Python

In diesem Tutorial werden verschiedene Methoden demonstriert, um die elementweise Multiplikation zweier Listen in Python durchzuführen. Angenommen, wir haben zwei Listen von ganzen Zahlen mit den gleichen Abmessungen und wollen Elemente der ersten Liste mit den Elementen an der gleichen Position in der zweiten Liste multiplizieren und eine resultierende Liste mit den gleichen Abmessungen erhalten.

Multiplizieren zweier Listen in Python mit der Methode zip()

Die eingebaute Methode zip() in Python nimmt eine oder mehrere Iterablen und fasst die Iterablen zu einem Tupel zusammen. So werden die Listen [1,2,3] und [4,5,6] zu [(1, 4), (2, 5), (3, 6)]. Mit der Methode map() greifen wir auf beide Listen elementweise zu und erhalten die gewünschte Liste mit der Methode List Comprehension.

Das folgende Code-Beispiel zeigt, wie man 1D- und 2D-Listen mithilfe von zip() mit dem List Comprehensions vervielfacht.

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)

Ausgabe:

[8, 4, 10, 27, 35, 20]

Multiplikation von 2D-Listen:

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)

Ausgabe:

[[8, 4, 10], [27, 35, 20]]

Multiplikation zweier Listen in Python mit der Methode numpy.multiply()

Die Methode multiply() der NumPy-Bibliothek in Python nimmt zwei Arrays/Listen als Eingabe und gibt nach der Durchführung der elementweisen Multiplikation ein Array/Liste zurück. Diese Methode ist einfach, da wir keine zusätzliche Arbeit für die 2D-Multiplikation leisten müssen, aber der negative Punkt dieser Methode ist, dass sie nicht ohne die NumPy-Bibliothek verwendet werden kann.

Die folgenden Code-Beispiele zeigen, wie man 1D- und 2D-Listen in Python mit der Methode numpy.multiply() multipliziert.

  • 1D-Multiplikation:
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)

Ausgabe:

[156   6   3  10   9   4]
  • 2D-Multiplikation:
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)

Ausgabe:

[[156   6   3]
 [ 10   9   4]]

Multiplizieren zweier Listen in Python mit der Funktion map()

Die Funktion map nimmt eine Funktion und eine oder mehrere Iterablen als Eingabe und gibt eine Iterable zurück, die die angegebene Funktion auf die Eingabelisten anwendet.

Wir können die 1D- und 2D-elementweise Multiplikation von zwei Listen in Python mit der Funktion map() durchführen, indem wir beide Listen als Argumente an die Funktion map() übergeben. Die folgenden Code-Beispiele zeigen, wie wir die Funktion map() verwenden können, um zwei Python-Listen zu multiplizieren.

Beispielcode für 1D-Multiplikation:

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)

Ausgabe:

[8, 4, 10, 27, 35, 20]

Beispielcode für die 2D-Multiplikation:

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)

Ausgabe:

[[8, 4, 10], [27, 35, 20]]

Verwandter Artikel - Python List