Die Umwandlung einer Liste in ein Dictionary in Python ist keine große Herausforderung.
Lassen Sie uns verschiedene Herangehensweisen zur Transformation einer Liste in ein Dictionary betrachten.
Einführung
Bevor wir mit dem Tutorial beginnen, wollen wir ein anschauliches Beispiel für die Konvertierung einer Liste in ein Dictionary geben. Wir haben entweder eine Liste von Tupeln (wobei jedes Tupel aus zwei Einträgen besteht) oder eine einfache Liste von Elementen. Wir werden beide Eingaben aufnehmen und in ein Dictionary überführen.
Beispiele:
Im folgenden Fall haben wir eine Liste von Tupeln als Ausgangspunkt genommen und sie in ein Dictionary umgewandelt. Dabei haben wir jeweils das erste Element des Tupels als Schlüssel und das zweite als zugehörigen Wert für das Dictionary verwendet.
Eingabe: list_one = [(‘a’, ‘A’), (‘b’, ‘B’), (‘c’, ‘C’)]
Ausgabe: {‚a‘: ‚A‘, ‚b‘: ‚B‘, ‚c‘: ‚C‘}
Im nächsten Beispiel haben wir eine Liste von einfachen Elementen verwendet und daraus ein Dictionary gebildet, indem wir abwechselnd Elemente als Schlüssel und Werte genutzt haben. Falls am Ende kein Element mehr für einen Schlüssel vorhanden ist (wenn die Liste eine ungerade Zahl von Elementen enthält), setzen wir den Wert auf „Keine“.
Eingabe: list_one = [‘a’, ‘A’, ‘b’, ‘B’, ‘c’, ‘C’, ‘d’]
Ausgabe:{‚a‘: ‚A‘, ‚b‘: ‚B‘, ‚c‘: ‚C‘, ‚d‘: Keine}
Wir haben nun das Ziel dieses Tutorials vorgestellt. Wir werden beide Beispiele auf unterschiedliche Arten erläutern. Beginnen wir mit dem ersten Beispiel.
Liste von Tupeln zu Dictionary
Sehen wir uns an, wie eine Liste von Tupeln in ein Dictionary umgewandelt werden kann. Sie können versuchen, den Code anhand folgender Schritte zu entwickeln:
- Initialisieren Sie eine Liste von Tupeln mit beliebigen Daten, wie in den obigen Beispielen (stellen Sie sicher, dass jedes Tupel in der Liste exakt zwei Elemente hat).
- Übergeben Sie diese Liste der `dict`-Methode, welche das Ergebnis in einer neuen Variable speichert.
- Das war es schon, wir haben eine Liste von Tupeln mit nur einer Zeile Code in ein Dictionary transformiert.
# Liste von Tupeln list_of_tuples = [('a', 'A'), ('b', 'B'), ('c', 'C')] # Umwandlung in ein Dictionary list_of_tuples_dict = dict(list_of_tuples) # Ausgabe des Ergebnis-Dictionarys print(list_of_tuples_dict)
Sie können die obige Codeausgabe testen, indem Sie sie ausführen. Sie werden dasselbe Resultat wie in unseren Beispielen erhalten.
Einfache Liste zu Dictionary
Wir haben bereits gesehen, wie eine Liste von Tupeln zu einem Dictionary konvertiert wird, und festgestellt, dass dies in Python recht unkompliziert ist. In diesem Abschnitt werden wir uns der Konvertierung einer simplen Liste in ein Dictionary zuwenden.
Um dies besser zu verstehen, beziehen wir uns auf das zweite Beispiel aus dem Einführungsabschnitt des Tutorials.
Führen Sie die folgenden Schritte aus, um den Code für das zweite Beispiel zu entwickeln.
Wir werden den Standardwert für Elemente, die keinen korrespondierenden Wert besitzen (bei Listen mit einer ungeraden Zahl von Elementen), auf „None“ festlegen. Dazu müssen wir die Methode `zip_longest` aus dem Modul `itertools` verwenden.
- Importieren Sie das Modul `itertools` und initialisieren Sie eine Liste mit einer ungeraden Anzahl von Elementen, wie sie in den Beispielen gezeigt wurde.
- Wandeln Sie die Liste in ein iterierbares Objekt um, um Dopplungen bei der Paarung von Schlüsseln und Werten mit der `zip_longest`-Methode zu vermeiden.
- Übergeben Sie nun dieses iterierbare Objekt an die `zip_longest`-Methode und setzen Sie `fillvalue` auf `None`. Es wird ein `zip`-Objekt als Ergebnis zurückgeliefert.
- Wir müssen das iterierbare Objekt zweimal übergeben, da es sowohl Schlüssel als auch Werte von zwei Iterablen ableitet. In unserem Fall befinden sich Schlüssel und Werte im gleichen iterierbaren Objekt. Daher müssen wir es zweimal vor dem Füllwert angeben.
- Konvertieren Sie das Objekt mithilfe der `dict`-Methode in ein Python-Dictionary.
- Geben Sie das Ergebnis aus.
# Importieren des Moduls import itertools # Einfache Liste mit einer ungeraden Anzahl von Elementen plain_list = ['a', 'A', 'b', 'B', 'c', 'C', 'd'] # Umwandlung in ein iterierbares Objekt, um Dopplungen zu vermeiden plain_list_iter = iter(plain_list) # Umwandlung der einfachen Liste in ein Dictionary plain_list_dict_object = itertools.zip_longest(plain_list_iter, plain_list_iter, fillvalue=None) # Konvertieren des zip_longest Objekts in ein Dictionary mit `dict` plain_list_dict = dict(plain_list_dict_object) # Ausgabe print(plain_list_dict)
Sie können `fillvalue` nach Ihren Bedürfnissen anpassen. Experimentieren Sie mit verschiedenen Werten. Führen Sie den Code aus, um zu überprüfen, ob das Resultat mit unserer Beispieldarstellung übereinstimmt.
Fazit
Ich hoffe, dass Ihnen das Tutorial zur Umwandlung einer Liste in ein Dictionary gefallen hat. Wir treffen uns im nächsten Tutorial wieder.
Im nächsten Schritt werden wir lernen, wie man Listen in Python „glättet“.
Viel Spaß beim Programmieren 🙂
Hat Ihnen dieser Artikel gefallen? Wie wäre es, ihn mit anderen zu teilen?