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!


Streudiagramm-Visualisierungen mit Charticulator

Streudiagramm-Visualisierungen mit Charticulator

In diesem Tutorial erfahren Sie, wie Sie mit Charticulator eine Streudiagramm-Visualisierung für Ihren LuckyTemplates-Bericht erstellen und entwerfen.

PowerApps-Suchfeld: So fügen Sie es hinzu und passen es an

PowerApps-Suchfeld: So fügen Sie es hinzu und passen es an

Erfahren Sie, wie Sie ein PowerApps-Suchfeld von Grund auf erstellen und es an das Gesamtthema Ihrer App anpassen.

Power Automate String-Funktionen: Substring und IndexOf

Power Automate String-Funktionen: Substring und IndexOf

Erlernen Sie ganz einfach zwei komplizierte Power Automate String-Funktionen, die in Microsoft Flows verwendet werden können – die Funktionen substring und indexOf.

Power Query M: Abwechselndes 0-1-Muster in der Datumstabelle

Power Query M: Abwechselndes 0-1-Muster in der Datumstabelle

Dieses Tutorial konzentriert sich auf die Power Query M-Funktion „number.mod“, um ein abwechselndes 0-1-Muster in der Datumstabelle zu erstellen.

Prognosetechnik: Erkundung der Prognoselogik in LuckyTemplates-Modellen

Prognosetechnik: Erkundung der Prognoselogik in LuckyTemplates-Modellen

In diesem Tutorial führe ich eine Prognosetechnik durch, bei der ich meine tatsächlichen Ergebnisse mit meinen Prognosen vergleiche und sie kumulativ betrachte.

Speichern Sie E-Mail-Anhänge in SharePoint mit Power Automate

Speichern Sie E-Mail-Anhänge in SharePoint mit Power Automate

In diesem Blog erfahren Sie, wie Sie mit Power Automate E-Mail-Anhänge automatisch in SharePoint speichern und E-Mails anschließend löschen.

Führen Sie eine Bis-Loop-Steuerung in Power Automate durch

Führen Sie eine Bis-Loop-Steuerung in Power Automate durch

Erfahren Sie, wie die Do Until Schleifensteuerung in Power Automate funktioniert und welche Schritte zur Implementierung erforderlich sind.

Berechnen eines gleitenden Durchschnitts in LuckyTemplates mithilfe von DAX

Berechnen eines gleitenden Durchschnitts in LuckyTemplates mithilfe von DAX

In diesem Tutorial erfahren Sie, wie Sie mithilfe der ALLSELECTED-Funktion einen dynamischen gleitenden Durchschnitt in LuckyTemplates berechnen können.

Berechnen Sie dynamisch eine laufende oder kumulative LuckyTemplates-Summe

Berechnen Sie dynamisch eine laufende oder kumulative LuckyTemplates-Summe

Durch diesen Artikel erhalten wir ein klares und besseres Verständnis für die dynamische Berechnung einer laufenden oder kumulativen Gesamtsumme in LuckyTemplates.

Power Automate auf jede Aktion in Workflows anwenden

Power Automate auf jede Aktion in Workflows anwenden

Erfahren und verstehen Sie die Bedeutung und ordnungsgemäße Verwendung der Power Automate-Aktionssteuerung „Auf jede anwenden“ in unseren Microsoft-Workflows.