Articles

Verketten von zwei Listen in Python

Einführung

Listenverkettung das Erstellen einer einzelnen Liste aus mehreren kleineren Listen durch Verketten.

Es gibt viele Möglichkeiten, Listen in Python zu verketten. In diesem Artikel erfahren Sie, wie Sie zwei Listen in Python mithilfe des Plus-Operators, des Entpackoperators, des Multiplikationsoperators, des Handbuchs für die Schleif-Verkettung, der Funktion itertools.chain() und der integrierten Listenmethode extend() verketten.

In allen folgenden Codeausschnitten verwenden wir die folgenden Listen:

list_a = list_b = 

Plus-Operator-Listenverkettung

Die einfachste und einfachste Möglichkeit, zwei Listen in Python zu verketten, ist der Plus-Operator (+):

list_c = list_a + list_bprint (list_c)

Unpack Operator List Concatenation

Mit dieser Methode können Sie mehreren Listen beitreten. Es ist eine ziemlich neue Funktion und nur ab Python 3.6+ verfügbar. Der Entpackungsoperator entpackt, wie der Name schon sagt, ein iterable -Objekt in seine Elemente. Das Entpacken ist nützlich, wenn wir eine Vielzahl von Argumenten aus einer einzigen Liste generieren möchten. Zum Beispiel:

def foo(a, b, c, d): return a + b + c + d# We want to use the arguments of the following list with the foo function.# However, foo doesn't take a list, it takes 4 numbers, which is why we need to# unpack the list.foo(*list_a)# This is the same as if we were to call foo(1,2,3,4)
10

Kurz gesagt, wir verwenden den Listenkonstruktor () und generieren die Elemente der neuen Liste der Reihe nach, indem wir mehrere Listen nacheinander entpacken:

list_c = # This is the same as:# list_c = print (list_c)

Listenverkettungsoperator multiplizieren

Der Operator multiplizieren (*) ist ein Sonderfall der Listenverkettung in Python. Es wird verwendet, um eine ganze Liste mehrmals zu wiederholen (weshalb es mit einem Multiplikationsoperator bezeichnet wird):

print(list_a * 2)

für die Verkettung von Schleifenlisten

Bei dieser Methode gehen wir eine Liste durch, während wir jedes ihrer Elemente einzeln an eine andere Liste anhängen. Wenn die Schleife beendet ist, haben Sie eine einzelne Liste mit allen gewünschten Elementen:

for i in list_b: list_a.append(i)print (list_a)

itertools .chain() List Concatenation

Diese Methode funktioniert mit iterables. Es konstruiert und gibt einen Iterator zurück, der später zum Erstellen der verketteten Liste verwendet werden kann (stellen Sie sich das als Pfeil vor, der nur die Reihenfolge der Elemente in der resultierenden Liste speichert):

# If we were to call itertools.chain() like soiterator = itertools.chain(, )# Basically the iterator is an arrow which can give us the next() element in a sequence, so if we call a list() constructor with said iterable, it works like this:list(iterator)

Unter der Haube passiert etwas in dieser Richtung:

# Iterator: The next element in this list is 1 , ^# Iterator: The next element in this list is 2, ^# Iterator: The next element in this list is 3 , ^# Iterator: The next element in this list is 4 , ^# So the list() call looks something like:list()# Keep in mind this is all pseudocode, Python doesn't give the developer direct control over the iterator

Für diese Methode müssen Sie importieren itertools:

import itertoolslist_c = list(itertools.chain(list_a, list_b))print (list_c)

extend() List Concatenation

Dies ist aa gebaut -it-Funktion, die verwendet werden kann, um eine Liste zu erweitern. Hier erweitern wir die erste Liste, indem wir Elemente der zweiten Liste hinzufügen:

list_a.extend(list_b)print (list_a)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.