So multiplizieren Sie Listen in Python: 7 schnelle Möglichkeiten

So multiplizieren Sie Listen in Python: 7 schnelle Möglichkeiten

Das Multiplizieren von Listen in Python ist eine häufige Operation bei der Durchführung mathematischer Berechnungen oder der Lösung von Problemen bei der Datenmanipulation. Abhängig von Ihren Anforderungen und den verfügbaren Bibliotheken gibt es mehrere Möglichkeiten, diese Aufgabe zu erfüllen.

Um Listen in Python zu multiplizieren, können Sie For-Schleifen, List Comprehension-, Zip- und Map-Funktionen oder das integrierte Functools-Modul verwenden. Sie können auch Funktionen aus einer externen Python-Bibliothek wie NumPy verwenden.

Dieser Artikel zeigt Ihnen viele verschiedene Möglichkeiten zum Multiplizieren von Listen, jeweils mit einem Codebeispiel und erklärten Ergebnissen.

Lass uns anfangen!

Inhaltsverzeichnis

2 Arten der numerischen Listenmultiplikation in Python

Bevor wir uns mit den spezifischen Methoden befassen, sollten Sie die Art der Listenmultiplikation verstehen, die sie erreichen.

Python verfügt über mehrere verschiedene Konzepte, die unter dem Oberbegriff Listenmultiplikation zusammengefasst werden. Dazu gehört das Replizieren von Listen oder das Ermitteln des kartesischen Produkts von Elementen innerhalb einer Liste.

Dieser Artikel konzentriert sich stattdessen auf zwei Arten der arithmetischen Multiplikation von Elementen innerhalb einer Liste:

  1. Multiplikation mit Wert

  2. Elementweise Multiplikation

Werfen wir einen kurzen Blick auf diese beiden Konzepte.

1. Multiplikation mit Wert

Wenn Sie eine Liste mit ganzen Zahlen haben, möchten Sie möglicherweise jedes Element mit einem bestimmten Wert multiplizieren. Sie haben beispielsweise eine Liste [1, 2, 3] und möchten jedes Element mit dem Wert 3 multiplizieren.

Sie könnten (fälschlicherweise) versuchen, den Multiplikationsoperator wie in diesem Code zu verwenden:

list1 = [1, 2, 3]
result = list1 * 3

Sie werden überrascht sein, dass das Ergebnis [1, 2, 3, 1, 2, 3, 1, 2, 3] ist. Dies wird als Listenreplikation bezeichnet .

2. Elementweise Listenmultiplikation

Angenommen, Sie haben zwei Listen: [1, 2, 3] und [4, 5, 6]

Sie möchten die Elemente am gleichen Index innerhalb der Liste multiplizieren, um als Ergebnis [4, 10, 18] zu erhalten.

Wenn Sie versuchen, zwei Python-Listen mit dem Operator „*“ zu multiplizieren, erhalten Sie eine Fehlermeldung:

TypeError: Sequenz kann nicht mit Nicht-Int vom Typ „Liste“ multipliziert werden.

Dies liegt daran, dass der Multiplikationsoperator nicht so konzipiert ist, dass er mit Listen funktioniert, wie dies bei Ganzzahlen oder Gleitkommazahlen der Fall ist. Stattdessen erfordert das Multiplizieren von Listen eine Operation, die als elementweise Multiplikation bezeichnet wird.

Bei der elementweisen Multiplikation werden die entsprechenden Elemente aus zwei Listen gepaart und miteinander multipliziert, wodurch eine neue Liste entsteht.

Jetzt haben Sie diese beiden Konzepte verstanden. Lassen Sie uns eine Reihe von Techniken durcharbeiten, um die richtigen Ergebnisse zu erzielen.

So verwenden Sie eine For-Schleife für mehrere Listenelemente in Python

So multiplizieren Sie Listen in Python: 7 schnelle Möglichkeiten

Angenommen, Sie möchten Listenelemente mit einem Wert multiplizieren . Bei diesem Ansatz können Sie die Elemente mit einer for-Schleife durchlaufen und jedes einzelne mit einem zweiten Wert multiplizieren.

Hier ist ein Beispiel mit einer Liste. Die Ergebnisvariable enthält die Ausgabeliste.

list1 = [1, 2, 3, 4]
factor = 3
result = []

for element in list1:
    result.append(element * factor)

In diesem Fall lautet die Ergebnisliste [3, 6, 9, 12].

So verwenden Sie Listenverständnisse für die Multiplikation

Listenverständnisse bieten eine prägnante Möglichkeit, numerische Listenmultiplikationen durchzuführen. Sie erhalten das gleiche Ergebnis wie die Verwendung einer for- Schleife, jedoch mit einer kompakteren Syntax.

Hier ist das vorherige Beispiel mit Listenverständnis:

list1 = [1, 2, 3, 4]
factor = 3
result = [element * factor for element in list1]

Dieser Code führt zur gleichen Ausgabe wie zuvor: [3, 6, 9, 12].

So verwenden Sie die Zip-Funktion für die elementweise Multiplikation

So multiplizieren Sie Listen in Python: 7 schnelle Möglichkeiten

Wenn Sie zwei Listen mit ganzen Zahlen haben, möchten Sie die Listen möglicherweise elementweise multiplizieren. Das bedeutet, dass Sie das erste Element in der ersten Liste mit dem ersten Element in der zweiten Liste multiplizieren und so weiter mit Elementen an derselben Position.

Die Funktion zip() kann dies erreichen, wenn Sie sie mit dem Listenverständnis kombinieren.

Die Funktion kombiniert die Elemente zweier Eingabelisten, sodass Sie sie parallel durchlaufen können. Hier ist ein Beispiel mit Listen gleicher Größe:

list1 = [1, 2, 3, 4]
list2 = [2, 3, 4, 5]
result = [a * b for a, b in zip(list1, list2)]

In diesem Fall enthält die Ergebnisvariable die resultierende Liste: [4, 10, 18].

Arbeiten mit Tupeln und Konstruktoren

Manchmal müssen Sie möglicherweise mit Listen arbeiten, die Tupel anstelle einfacher Ganzzahlen enthalten.

Um zwei Tupellisten zu multiplizieren , können Sie eine Kombination aus Folgendem verwenden:

  • zip()-Funktion

  • Tupelkonstruktoren

  • Verständnis auflisten

Hier ist ein Beispiel:

list1 = [(1, 2), (3, 4)]
list2 = [(5, 6), (7, 8)]

result = [tuple(a * b for a, b in zip(t1, t2)) for t1, t2 in zip(list1, list2)]

Dies ist das Ergebnis: [(5, 12), (21, 32)].

So verwenden Sie eine Map- und Lambda-Funktion in Python

So multiplizieren Sie Listen in Python: 7 schnelle Möglichkeiten

Die Map-Funktion in Python ist eine praktische Möglichkeit, eine Funktion auf jedes Element in einer iterierbaren Liste wie einer Liste anzuwenden.

Eine Lambda-Funktion in Python ist eine kleine anonyme Funktion. Das bedeutet, dass es sich um eine Funktion ohne Namen handelt.

Um zwei Listen elementweise zu multiplizieren, können Sie Map- und Lambda-Funktionen kombinieren:

list1 = [1, 2, 3]
list2 = [4, 5, 6]
result = list(map(lambda x, y: x * y, list1, list2))

Die Ergebnisvariable enthält die multiplizierten Listen: [4, 10, 18].

So verwenden Sie das Operatormodul in Python

Das Operatormodul bietet eine Fülle nützlicher Funktionen für die Arbeit mit unterschiedlichen Datenstrukturen und -typen.

Die Funktion „operator.mul()“ kann zum Multiplizieren von Listen mit ganzen Zahlen verwendet werden, wenn Sie sie mit der Funktion „map“ kombinieren.

import operator

list1 = [1, 2, 3]
list2 = [4, 5, 6]

result = list(map(operator.mul, list1, list2))

In diesem Beispiel importieren Sie das Operatormodul und verwenden die Funktion mul() zusammen mit der in Python integrierten Funktion map(), um jedes Element der beiden Listen zu multiplizieren.

Die Ergebnisvariable enthält die multiplizierten Listen: [4, 10, 18].

NumPy-Bibliothek: Die Array- und Multiplikationsfunktionen

So multiplizieren Sie Listen in Python: 7 schnelle Möglichkeiten

Die NumPy- Bibliothek ist eine leistungsstarke externe Bibliothek in Python, die häufig für numerische Berechnungen und die Arbeit mit Arrays verwendet wird. Diese Bibliothek ist besonders effizient beim Umgang mit großen Arrays oder mehrdimensionalen Arrays.

Um NumPy zu verwenden, können Sie es mit pip installieren:

pip install numpy

Um mit NumPy eine elementweise Multiplikation in zwei Listen durchzuführen, befolgen Sie diese allgemeinen Schritte:

  1. Konvertieren Sie jede Liste mit numpy.array() in ein NumPy-Array .

  2. Führen Sie die Multiplikation mit der NumPy-Multiplikationsfunktion durch.

  3. Konvertieren Sie das Ergebnis optional mit der Methode tolist() zurück in eine Python-Liste

Hier ist ein Codebeispiel:

import numpy as np

list1 = [1, 2, 3]
list2 = [4, 5, 6]
arr1 = np.array(list1)
arr2 = np.array(list2)

res_arr = np.multiply(arr1, arr2)
result = res_arr.tolist()

Dies liefert das gleiche Ergebnis wie in den vorherigen Beispielen: [4, 10, 18].

So kombinieren Sie Functools und NumPy in Python

Die functools- Bibliothek enthält eine Reduzierungsfunktion, die eine bestimmte Funktion kumulativ auf die Elemente in einer Liste anwendet und die Liste auf einen einzelnen Wert reduziert.

Um zwei Listen mit der Funktion Reduce() zu multiplizieren , können Sie sie mit der Multiplikationsfunktion aus der NumPy-Bibliothek kombinieren.

Hier ist ein Beispiel:

from functools import reduce
import numpy as np

list1 = [1, 2, 3]
list2 = [4, 5, 6]

result = reduce(np.multiply, [list1, list2])

Dieser Code importiert die erforderlichen Bibliotheken und verwendet die Funktion Reduce() zusammen mit numpy.multiply() , um eine elementweise Multiplikation der beiden Listen durchzuführen.

Arbeiten mit Listen und anderen Datenstrukturen in Python

Die meisten Aspekte der Datenanalyse erfordern die Arbeit mit Listen, Mengen und anderen Datenstrukturen. Ihr Wissen können Sie beispielsweise beim Umgang mit fehlenden Daten mittels Interpolation anwenden.

Schauen Sie sich dieses Video für einige fortgeschrittene Techniken an:

Abschließende Gedanken

Sie haben verschiedene Methoden zur arithmetischen Multiplikation von Listen in Python kennengelernt. Einige verwenden nur integrierte Module und Funktionen, während andere auf Bibliotheken von Drittanbietern angewiesen sind.

Die Fähigkeit zur elementweisen Multiplikation eröffnet eine Vielzahl von Anwendungen. Von der Datenanalyse bis zum maschinellen Lernen sind diese Operationen ein wesentlicher Bestandteil vieler Algorithmen und Rechenaufgaben.

Während sich dieser Artikel auf die Multiplikation konzentrierte, erstrecken sich die Konzepte, die Sie gelernt haben, auch auf andere Operationen. Auch elementweise Addition, Subtraktion und Division können auf die gleiche Weise durchgeführt werden.

Denken Sie daran: Der beste Weg, diese Konzepte zu festigen, besteht darin, sie anzuwenden – also legen Sie los, starten Sie Ihre Python-Umgebung und beginnen Sie mit dem Experimentieren. Ob Sie Aufgaben automatisieren, Daten manipulieren oder komplexe Software erstellen, diese Techniken werden sich zweifellos als nützlich erweisen.

Viel Spaß beim Pythoning!


So speichern und laden Sie eine RDS-Datei in R

So speichern und laden Sie eine RDS-Datei in R

Sie erfahren, wie Sie Objekte aus einer .rds-Datei in R speichern und laden. In diesem Blog wird auch behandelt, wie Sie Objekte aus R in LuckyTemplates importieren.

Was ist Self in Python: Beispiele aus der Praxis

Was ist Self in Python: Beispiele aus der Praxis

Was ist Self in Python: Beispiele aus der Praxis

First N Business Days Revisited – Eine DAX-Codierungssprachenlösung

First N Business Days Revisited – Eine DAX-Codierungssprachenlösung

In diesem Tutorial zur DAX-Codierungssprache erfahren Sie, wie Sie die GENERATE-Funktion verwenden und einen Kennzahltitel dynamisch ändern.

Präsentieren Sie Einblicke mithilfe der Multi-Threaded-Dynamic-Visuals-Technik in LuckyTemplates

Präsentieren Sie Einblicke mithilfe der Multi-Threaded-Dynamic-Visuals-Technik in LuckyTemplates

In diesem Tutorial erfahren Sie, wie Sie mithilfe der Multi-Threaded-Dynamic-Visuals-Technik Erkenntnisse aus dynamischen Datenvisualisierungen in Ihren Berichten gewinnen.

Einführung in den Filterkontext in LuckyTemplates

Einführung in den Filterkontext in LuckyTemplates

In diesem Artikel werde ich den Filterkontext durchgehen. Der Filterkontext ist eines der Hauptthemen, über die sich jeder LuckyTemplates-Benutzer zunächst informieren sollte.

Beste Tipps zur Verwendung der Apps im LuckyTemplates-Onlinedienst

Beste Tipps zur Verwendung der Apps im LuckyTemplates-Onlinedienst

Ich möchte zeigen, wie der LuckyTemplates Apps-Onlinedienst bei der Verwaltung verschiedener Berichte und Erkenntnisse aus verschiedenen Quellen helfen kann.

Analysieren Sie Gewinnmargenänderungen im Laufe der Zeit – Analysen mit LuckyTemplates und DAX

Analysieren Sie Gewinnmargenänderungen im Laufe der Zeit – Analysen mit LuckyTemplates und DAX

Erfahren Sie, wie Sie Ihre Gewinnmargenänderungen mithilfe von Techniken wie Kennzahlenverzweigung und der Kombination von DAX-Formeln in LuckyTemplates ermitteln.

Materialisierungsideen für Datencaches in DAX Studio

Materialisierungsideen für Datencaches in DAX Studio

In diesem Tutorial werden die Ideen der Materialisierung von Datencaches und deren Auswirkungen auf die Leistung von DAXs bei der Bereitstellung von Ergebnissen erläutert.

Geschäftsberichte mit LuckyTemplates

Geschäftsberichte mit LuckyTemplates

Wenn Sie bisher noch Excel verwenden, ist dies der beste Zeitpunkt, LuckyTemplates für Ihre Geschäftsberichtsanforderungen zu verwenden.

Was ist LuckyTemplates Gateway? Alles was du wissen musst

Was ist LuckyTemplates Gateway? Alles was du wissen musst

Was ist LuckyTemplates Gateway? Alles was du wissen musst