Wie man zwei oder mehrere Listen in Python verkettet
-
+
zwei Listen in Python verknüpfen -
+=
um zwei Listen in Python zu verknüpfen -
itertools.chain
Methode verkettet zwei Listen in Python -
extend()
Methode zum Verketten von Listen in Python -
[*a, *b]
Entpackungsmethode in Python-Listenverkettung - Schlussfolgerung
Eine Liste in Python ist eine Datenstruktur, die eine geordnete Sammlung von Elementen enthält.
Eine Operation zum Zusammenkleben zweier Listen wird verketten genannt. Sie können zwei Listen in Python entweder in-place oder out-of-place verknüpfen.
Angenommen, wir haben zwei Listen, die verkettet werden sollen,
list1 = [1, 2, 3, 4]
list2 = [5, 6, 7, 8]
Wir könnten mehrere Methoden haben, um sie zu verketten, aber sie unterscheiden sich in der Leistung, wenn die Länge oder die Anzahl der verketteten Listen zunimmt.
Wir stellen diese verschiedenen Methoden vor und geben Ihnen einen Leistungsvergleich.
+
zwei Listen in Python verknüpfen
Der +
Operator könnte zwei Listen verknüpfen und eine neue Liste zurückgeben.
>>> list1 = [1, 2, 3, 4]
>>> list2 = [5, 6, 7, 8]
>>> result = list1 + list2
>>> result
[1, 2, 3, 4, 5, 6, 7, 8]
+=
um zwei Listen in Python zu verknüpfen
+=
ist ähnlich wie die obige Methode, aber es werden die Daten der ersten Liste an Ort und Stelle geändert.
>>> list1 = [1, 2, 3, 4]
>>> list2 = [5, 6, 7, 8]
>>> list1 += list2
>>> list1
[1, 2, 3, 4, 5, 6, 7, 8]
itertools.chain
Methode verkettet zwei Listen in Python
chain
aus dem Modul itertools
behandelt aufeinanderfolgende Sequenzen als eine einzige Sequenz,
>>> list1 = [1, 2, 3, 4]
>>> list2 = [5, 6, 7, 8]
>>> import itertools
>>> result = list(itertools.chain(list1, list2))
[1, 2, 3, 4, 5, 6, 7, 8]
itertools.chain
hat einen alternativen Konstruktor - intertools.chain.from_iterable()
. Er hat ein einziges iterierbares Argument, dessen Eingaben faul ausgewertet werden.extend()
Methode zum Verketten von Listen in Python
Die Methode List extend
erweitert die Liste durch Anhängen von Elementen aus der Iterationsliste.
>>> list1 = [1, 2, 3, 4]
>>> list2 = [5, 6, 7, 8]
>>> list1.extend(list2)
>>> list1
[1, 2, 3, 4, 5, 6, 7, 8]
Sie ändert auch die Daten einer bestehenden Liste an Ort und Stelle, anstatt eine neue Liste zurückzugeben.
[*a, *b]
Entpackungsmethode in Python-Listenverkettung
Zusätzliches Entpacken wie *
für iterierbare Entpack-Operator und **
für Dictionary-Entpack-Operator sind ab Python 3.5 erweitert, wie in PEP-0448 erklärt wird.
>>> list1 = [1, 2, 3, 4]
>>> list2 = [5, 6, 7, 8]
>>> result = [*list1, list2]
>>> result
[1, 2, 3, 4, 5, 6, 7, 8]
Diese Methode könnte nicht auf den Fall von N Listen anwendbar sein, es sei denn, Sie möchten jede Liste manuell entpacken.
>>> A = [1,2,3]
>>> B = [4,5,6]
>>> C = [7,8,9]
>>> [*t for t in [A,B,C]]
SyntaxError: iterable unpacking cannot be used in comprehension
Schlussfolgerung
Version | Vor Ort? | |
---|---|---|
A + B |
- | Nein |
list(intertools.chain(a,b)) |
>=2.3 | Nein |
[*a, *b] |
>=3.5 | Nein |
a += b |
- | Ja |
a.extend(b) |
- | Ja |
Wir verwenden perfplot
Modul bis comapare die Leistung der oben genannten Methoden.
Wie in der Grafik gezeigt, sind die Methoden a.extend(b)
und a+b
in der Leistung fast gleich und die besten unter allen Methoden. Die list(chain(a,b))
Methode hat die schlechteste Performance.
Aditya Raj is a highly skilled technical professional with a background in IT and business, holding an Integrated B.Tech (IT) and MBA (IT) from the Indian Institute of Information Technology Allahabad. With a solid foundation in data analytics, programming languages (C, Java, Python), and software environments, Aditya has excelled in various roles. He has significant experience as a Technical Content Writer for Python on multiple platforms and has interned in data analytics at Apollo Clinics. His projects demonstrate a keen interest in cutting-edge technology and problem-solving, showcasing his proficiency in areas like data mining and software development. Aditya's achievements include securing a top position in a project demonstration competition and gaining certifications in Python, SQL, and digital marketing fundamentals.
GitHubVerwandter Artikel - Python List
- Alle Vorkommen eines Elements aus einer Liste in Python entfernen
- Konvertieren eines Dictionaries in eine Liste in Python
- Duplikate aus Liste entfernen in Python
- Wie erhält man den Durchschnitt einer Liste in Python
- Was ist der Unterschied zwischen den Listenmethoden append und extend
- Wie man eine Liste in Python in eine Zeichenkette konvertiert