Sehen wir uns an, wie man zwei Listen mit unterschiedlichen Methoden verkettet Python . Diese Operation ist nützlich, wenn wir eine Reihe von Listen mit Elementen haben, die auf ähnliche Weise verarbeitet werden müssen.
Input: test_list1 = [1, 4, 5, 6, 5] test_list2 = [3, 5, 7, 2, 5] Output: [1, 4, 5, 6, 5, 3, 5, 7, 2, 5] Explanation: The output list is the list we get from Merging both the input list.>
Python verbindet zwei Listen
Nachfolgend sind die Methoden aufgeführt, die wir in diesem Artikel behandeln:
Wie alt ist Kylie Jenner?
- Mit der naiven Methode
- Verwendung der + Betreiber
- Benutzen Listenverständnis
- Benutzen verlängern() Methode
- Benutzen * Operator
- Benutzen itertools.chain()
- Führen Sie zwei Listen mit zusammen Reduce()-Funktion
Zwei Listen in Python zusammenführen mit der naiven Methode
Bei dieser Methode durchlaufen wir die zweite Liste und hängen weiterhin Elemente in der ersten Liste an, sodass die erste Liste alle Elemente in beiden Listen enthält und daher das ausführen würde anhängen.
Python3
# Initializing lists> test_list1>=> [>1>,>4>,>5>,>6>,>5>]> test_list2>=> [>3>,>5>,>7>,>2>,>5>]> # using naive method to concat> for> i>in> test_list2 :> >test_list1.append(i)> # Printing concatenated list> print> (>'Concatenated list using naive method : '> >+> str>(test_list1))> |
>
>Ausgabe
Concatenated list using naive method : [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]>
Zeitkomplexität: O(n + m), wobei n und m die Längen der angegebenen test_list1 bzw. test_list2 sind.
Hilfsraum: O(m)
Verketten Sie zwei Listen mit dem +-Operator
Die gebräuchlichste Methode zur Durchführung der Listenverkettung ist die Verwendung von + Betreiber kann problemlos die gesamte Liste hinter der anderen Liste hinzufügen und somit die Funktion ausführen Verkettung.
Python3
# Initializing lists> test_list3>=> [>1>,>4>,>5>,>6>,>5>]> test_list4>=> [>3>,>5>,>7>,>2>,>5>]> # using + operator to concat> test_list3>=> test_list3>+> test_list4> # Printing concatenated list> print> (>'Concatenated list using + : '> >+> str>(test_list3))> |
>
>Ausgabe
Concatenated list using + : [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]>
Zeitkomplexität: O(n), wobei n die Gesamtzahl der Elemente in beiden Listen ist, da der +-Operator alle Elemente beider Listen durchläuft, um sie zu verketten.
Nebenraum: O(n), wobei n die Gesamtzahl der Elemente in beiden Listen ist, während eine neue Liste erstellt wird, um die verkettete Liste zu speichern.
Führen Sie zwei Listen in Python mithilfe des Listenverständnisses zusammen
Listenverständnis kann diese Aufgabe der Listenverkettung auch erfüllen. In diesem Fall wird eine neue Liste erstellt, diese Methode ist jedoch eine einzeilige Alternative zur oben diskutierten Schleifenmethode.
Python3
# Python3 code to demonstrate list> # concatenation using list comprehension> # Initializing lists> test_list1>=> [>1>,>4>,>5>,>6>,>5>]> test_list2>=> [>3>,>5>,>7>,>2>,>5>]> # using list comprehension to concat> res_list>=> [y>for> x>in> [test_list1, test_list2]>for> y>in> x]> # Printing concatenated list> print> (>'Concatenated list using list comprehension: '> >+> str>(res_list))> |
>
>Ausgabe
Concatenated list using list comprehension: [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]>
Zeitkomplexität: O(n + m), wobei n und m die Länge der gegebenen test_list1 und test_list2 sind
Hilfsraum: O(k), wobei k die Länge von res_list ist.
Zwei Listen mit extension() zusammenführen
Der verlängern() ist die durch Listen in Python erweiterte Funktion und kann daher zur Ausführung dieser Aufgabe verwendet werden. Diese Funktion führt die direkte Erweiterung der ersten Liste durch.
Python3
# Python3 code to demonstrate list> # concatenation using list.extend()> # Initializing lists> test_list3>=> [>1>,>4>,>5>,>6>,>5>]> test_list4>=> [>3>,>5>,>7>,>2>,>5>]> # using list.extend() to concat> test_list3.extend(test_list4)> # Printing concatenated list> print> (>'Concatenated list using list.extend() : '> >+> str>(test_list3))> |
>
>Ausgabe
Concatenated list using list.extend() : [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]>
Python verbindet zwei Listen mit dem *-Operator
Diese Methode, die den *-Operator verwendet, ist eine neue Ergänzung zur Listenverkettung und funktioniert nur in Python 3.6+. Irgendein Nein. Mit diesem Operator können mehrere Listen verkettet und in einer neuen Liste zurückgegeben werden.
Python3
# Python3 code to demonstrate list> # concatenation using * operator> # Initializing lists> test_list1>=> [>1>,>4>,>5>,>6>,>5>]> test_list2>=> [>3>,>5>,>7>,>2>,>5>]> # using * operator to concat> res_list>=> [>*>test_list1,>*>test_list2]> # Printing concatenated list> print> (>'Concatenated list using * operator : '> >+> str>(res_list))> |
>
>Ausgabe
Concatenated list using * operator : [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]>
Python verbindet zwei Listen mit itertools.chain()
Der itertools.chain() gibt das Iterable zurück, nachdem seine Argumente in einem verkettet wurden, und erfordert daher kein Speichern der verketteten Liste, wenn nur die anfängliche Iteration erforderlich ist. Dies ist nützlich, wenn die verkettete Liste nur einmal verwendet werden muss.
Python3
# Python3 code to demonstrate list> # concatenation using itertools.chain()> import> itertools> # Initializing lists> test_list1>=> [>1>,>4>,>5>,>6>,>5>]> test_list2>=> [>3>,>5>,>7>,>2>,>5>]> # using itertools.chain() to concat> res_list>=> list>(itertools.chain(test_list1, test_list2))> # Printing concatenated list> print> (>'Concatenated list using itertools.chain() : '> >+> str>(res_list))> |
>
>Ausgabe
Concatenated list using itertools.chain() : [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]>
Verketten Sie zwei Listen Verwenden der Funktion „reduce()“.
Zuerst müssen wir die Reduzierungsfunktion importieren Funktionstools Bibliothek. Initialisieren Sie dann zwei Variablen, die zwei verschiedene Listen enthalten. Jetzt verwenden wir eine andere Liste, in der wir alle im vorherigen Schritt erstellten Listen speichern. Wir müssen eine verschachtelte Liste erstellen. Jetzt verwenden wir die Funktion „reduce()“ und übergeben diese verschachtelte Liste als Parameter zusammen mit zwei Variablen (wenn wir uns für zwei Listen entscheiden). Und nutzen Sie die Anonymous-Funktion Lambda um die Verkettungsoperation durchzuführen und in einer Liste zu speichern.
Python3
from> functools>import> reduce> test_list1>=> [>1>,>4>,>5>,>6>,>5>]> test_list2>=> [>3>,>5>,>7>,>2>,>5>]> nested_list>=> [test_list1,test_list2]> print>(>reduce>(>lambda> i,j:i>+>j,nested_list,[]))> |
Typoskriptsatz
>
>Ausgabe
[1, 4, 5, 6, 5, 3, 5, 7, 2, 5]>
Zeitkomplexität: O(n+m), n ist die Länge der ersten Liste und m ist die Länge der zweiten Liste.
Hilfsraum: O(n), n ist die Anzahl der berücksichtigten Listen