Python-Liste abflachen

Das Abflachen einer Liste bezieht sich auf das Entfernen einer Dimension aus einer Liste. Eine Dimension bezieht sich auf eine zusätzliche Koordinate, die benötigt wird, um ein Element in einer Liste zu finden. Sie können eine Python-Liste mit einem Listenverständnis, einer verschachtelten for-Schleife oder der Methode itertools.chain() reduzieren.

Eine Python-Liste kann mehrere Dimensionen enthalten. Dies bedeutet, dass Sie eine Liste in Listen haben. Diese Listen, manchmal auch als ‚Äòverschachtelte Listen‚" k√∂nnen wieder in eine normale Liste umgewandelt werden.

Das bedeutet, dass Sie alle Werte aus Listen innerhalb einer Liste in eine einzelne Liste verschieben k√∂nnen. Das Umwandeln einer Liste von Listen in eine Liste wird als "eine Liste reduzieren bezeichnet.‚"

Python-Liste reduzieren

Es gibt drei Möglichkeiten, eine Python-Liste zu reduzieren:

  • Verwenden eines Listenverst√§ndnisses.
  • Verwenden einer verschachtelten for-Schleife.
  • Verwenden der itertools.chain()-Methode.

In diesem Handbuch sprechen wir daruber, wie Sie eine Liste mit einem Listenverständnis, einer for-Schleife und der Methode itertools.chain() reduzieren. Wir gehen zwei Beispiele durch, damit Sie mit dem Reduzieren von Listen in Ihren eigenen Programmen beginnen können.

Python: Flatten List Using a List Comprehension

A Python-Listenverständnis definiert eine Liste basierend auf dem Inhalt einer bestehenden Liste. Sie können jedes Element, das in Ihre neue Liste aufgenommen wird, anpassen, indem Sie Bedingungen oder Änderungen innerhalb des Verständnisses angeben.

Komprehensionen sind syntaktischer Zucker fur die Verwendung einer for-Schleife, um uber eine Liste zu iterieren und eine neue Liste zu generieren. Dies bedeutet, dass sie auf die gleiche grundlegende Weise wie eine for-Schleife funktionieren, aber eine andere Syntax verwenden.

Hier ist die Syntax fur ein Listenverständnis:

81 % der Teilnehmer gaben an, dass sie sich sicherer fuhlen uber ihre Berufsaussichten im Tech-Bereich nach dem Besuch eines Bootcamps. Lassen Sie sich noch heute in ein Bootcamp einweisen.

Der durchschnittliche Bootcamp-Absolvent verbrachte weniger als sechs Monate im Karriereubergang, vom Beginn eines Bootcamps bis zur Suche nach seinem ersten Job.

Dieses Verst√§ndnis multipliziert jede Zahl in unsere "Zahlen‚" list by 2.

Flatten List: Beispiel fur ein Listenverständnis

Wir haben eine Liste von Listen, die verschiedene Sandwich-Fullungen enthält, die in einem Restaurant erhältlich sind. Derzeit sieht unsere Liste wie folgt aus:

Der erste Liste enthält vegane Sandwichfullungen; die zweite Liste enthält vegetarische Sandwichfullungen; die dritte Liste enthält alle Sandwichfullungen, die Fleisch enthalten.

Wir möchten diese Liste in eine einzige Liste von Lebensmitteln umwandeln. Es ist einfacher, mit einer Liste mit einer statt zwei Dimensionen zu arbeiten. Es ist nicht erforderlich, mehr als eine Dimension in Um die zweite Dimension aus unserer Liste zu entfernen, können wir ein Listenverständnis verwenden:

Dieses Listenverst√§ndnis iteriert uber jede Liste in der "Lebensmittel‚" Python-Variable. Jeder Wert wird dann einer Hauptliste hinzugefugt. Sobald unsere Liste generiert ist, drucken wir sie in der Konsole aus.

Lassen Sie unseren Code und sehen Sie, was passiert:

Unsere Listenliste wurde erfolgreich in eine Wohnung umgewandelt auffuhren. Alle Zutaten erscheinen jetzt in einer Liste statt in drei.

Das gleiche Ergebnis erreichen wir auch durch die Verwendung einer verschachtelten Python for-Schleife. ‚ÄûVerschachtelt fur Schleife‚" ist eine andere Art, ‚Äûeine for-Schleife in einer for-Schleife zu sagen.‚" Unser Listenverst√§ndnis ist eine andere M√∂glichkeit, die folgende for-Schleife darzustellen:

Unser Code verwendet zwei for-Schleifen, um uber jedes Listenelement in jeder Liste in der ursprunglichen Liste der Listen zu iterieren. Lassen Sie uns unseren Code ausfuhren:

Unser Programm liefert dasselbe Ergebnis wie unser Listenverständnis. In den meisten Fällen ist ein Listenverständnis eine bessere Lösung als eine for-Schleife. Listenverständnisse sind kurzer und in diesem Fall leichter zu lesen als eine verschachtelte for-Schleife.

Python: Flatten List Using Itertools

Itertools ist ein Modul in der Python-Standardbibliothek. Das Modul bietet eine Reihe von Methoden, die die Arbeit mit iterablen erleichtern Objekte und Generatoren.

Fur unsere Zwecke beziehen wir uns nur auf die Methode chain(). Diese Methode akzeptiert eine Liste von Listen und gibt eine abgeflachte Liste zuruck.

Starten Sie mit dem Importieren des itertools-Moduls in unseren Code mithilfe einer Python-Import-Anweisung:

Als nächstes definieren Sie die Liste der Listen und verwenden die Methode chain(), um die Liste zu reduzieren:

In unserem Code verwenden wir das *-Symbol, um unsere Liste auszupacken. Dies wandelt unsere Liste in Funktionsargumente um, die von der Methode chain() geparst werden können.

Die Methode chain() gibt ein itertools.chain-Objekt zuruck. Um unsere abgeflachte Liste zu sehen, mussen wir dieses Objekt in eine Liste umwandeln. Wir tun dies mit der Methode list():

Lassen Sie unseren Code ausfuhren:

Unser Code hat unsere Liste abgeflacht.

"Karrierekarma trat in mein Leben ein, als ich es am dringendsten brauchte und half mir schnell bei einem Bootcamp. Zwei Monate nach meinem Abschluss fand ich meinen Traumjob, der meinen Werten und Lebenszielen entsprach!"

p>

Venus, Software-Ingenieur bei Rockbot

Itertools ist zwar eine effektive Methode, um eine Liste zu glätten, aber es ist fortgeschrittener als die letzten beiden Ansätze, die wir diskutiert haben.

Das liegt daran, dass Sie itertools in Ihren Code importieren mussen, was eine neue Abhängigkeit einfuhrt. Daruber hinaus beinhaltet die Methode chain() das Entpacken, was schwer zu verstehen sein kann.

Schlussfolgerung

Sie k√∂nnen eine Python-Liste mit reduzieren ein Listenverst√§ndnis, eine verschachtelte for-Schleife und die Methode itertools.chain(). Das Listenverst√§ndnis ist das "Pythonic‚" Methode und wird daher in den meisten F√§llen bevorzugt.

Obwohl verschachtelte for-Schleifen effektiv sind, verbrauchen sie mehr Codezeilen als ein Listenverständnis. Die Methode itertools.chain() ist ähnlich effektiv, kann aber fur Anfänger schwer zu verstehen sein.

Normalerweise ist es nicht erforderlich, eine neue Bibliothek – itertools – zu importieren, wenn Python Ihnen alle Werkzeuge zur Verfugung stellt, die Sie zum Reduzieren einer Liste benötigen.

Möchten Sie mehr uber Python erfahren? Sehen Sie sich unseren vollständigen Leitfaden zum Erlernen von Python an. Dort finden Sie Lerntipps von Experten und eine Liste der besten Kurse und Bucher, aus denen Sie lernen können .

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method