Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich eine tabellarische Liste in Python effizient in ein Wörterbuch konvertieren?

Wie kann ich eine tabellarische Liste in Python effizient in ein Wörterbuch konvertieren?

DDD
Freigeben: 2024-12-07 06:24:12
Original
214 Leute haben es durchsucht

How Can I Efficiently Convert a Tabular List to a Dictionary in Python?

Konvertieren tabellarischer Listen in Wörterbücher in Python

Bei der Programmierung stoßen wir häufig auf Szenarien, in denen Daten in einem tabellarischen Format organisiert sind, z Liste, in der gerade Indizes Schlüssel und ungerade Indizes entsprechende Werte darstellen. Die Aufgabe besteht darin, diese Liste in ein Wörterbuch umzuwandeln.

Lösung:

Der sauberste und effizienteste Weg, diese Konvertierung zu erreichen, ist die Verwendung der integrierten Funktionen von Python:

b = dict(zip(a[::2], a[1::2]))
Nach dem Login kopieren

Dieser Code iteriert effektiv über die Liste a und teilt sie mit dem erweiterten Slice-Operator [::2] auf, der jedes andere Element überspringt. Das Ergebnis sind zwei Listen: a[::2] enthält die Schlüssel und a[1::2] enthält die Werte. Diese Listen werden dann verwendet, um mithilfe der Funktion dict() ein Wörterbuch zu erstellen.

Für große Listen wird ein alternativer Ansatz empfohlen, um die Erstellung temporärer Listen zu vermeiden:

from itertools import izip
i = iter(a)
b = dict(izip(i, i))
Nach dem Login kopieren

Diese Methode verwendet die iter()-Funktion zum Erstellen eines Iterators für die Liste a. Die Funktion izip() (oder zip() in Python 3) verschachtelt die Elemente jedes Iterators und erstellt so einen neuen Iterator, der Tupel von Schlüsseln und Werten liefert. Diese Tupel werden dann an dict() übergeben, um das Wörterbuch zu erstellen.

In Python 3 ist eine weitere syntaktisch praktische Methode:

b = {a[i]: a[i+1] for i in range(0, len(a), 2)}
Nach dem Login kopieren

Dieser Code verwendet ein Wörterbuchverständnis, das über die Liste iteriert Indizes in Zweierschritten und fügt Schlüssel und Werte zu einem neuen Wörterbuch zusammen.

In Python 3.8 und höher ist das „Walross“ Der Operator (:=) bietet eine prägnante Möglichkeit, dies in einer einzigen Zeile zu schreiben:

b = dict(zip(i := iter(a), i))
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich eine tabellarische Liste in Python effizient in ein Wörterbuch konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage