Konvertieren eines Dictionaries in eine Liste in Python

Sahil Bhosale 10 Oktober 2023
  1. Konvertieren von Schlüsseln aus einem Dictionary in eine Liste mit der Methode keys() in Python
  2. Konvertieren von Werten aus einem Dictionary in eine Liste mit der Methode values() in Python
  3. Umwandlung eines Dictionaries in eine Liste von Tupeln in Python
Konvertieren eines Dictionaries in eine Liste in Python

Ein Dictionary in Python ist eine Kombination von Schlüssel-Wert-Paaren. Mit Hilfe des Schlüssels können Sie auf die Werte innerhalb des Dictionaries zugreifen. Nun kann die Umwandlung eines Dictionaries in eine Liste in Python verschiedene Dinge bedeuten. Entweder,

  1. Sie können die Schlüssel trennen und in eine Liste konvertieren
  2. Sie können die Werte trennen und sie in eine Liste konvertieren
  3. Konvertieren Sie das Schlüssel- und Wertepaar des Dictionaries in eine Liste von Tupeln.

Konvertieren von Schlüsseln aus einem Dictionary in eine Liste mit der Methode keys() in Python

Angenommen, Sie haben ein Dictionary mit dem Namen dictionary mit vier Schlüssel-Wert-Paaren.

dictionary = {"a": "Apple", "b": "Banana", "c": "Cherries", "d": "Dragon Fruit"}

listOfKeys = dictionary.keys()
print("Type of variable listOfKeys is: ", type(listOfKeys))

listOfKeys = list(listOfKeys)

print("Printing the entire list containing all Keys: ")
print(listOfKeys)

print("Printing individual Keys stored in the list:")

for key in listOfKeys:
    print(key)

Ausgabe:

Type of variable listOfKeys is:  <class 'dict_keys'>

Printing the entire list containing all Keys: 
['a', 'b', 'c', 'd']

Printing individual Keys stored in the list:
a
b
c
d

Sie können die Methode keys() verwenden, die alle Schlüssel aus dem Dictionary extrahiert und dann das Ergebnis (alle Schlüssel) in der Variablen listOfKeys speichert.

Nun müssen Sie die Variable listOfKeys mit Hilfe der Funktion list() in eine Liste umwandeln, denn wenn Sie an dieser Stelle den Typ der Variablen listOfKeys überprüfen, dann ist es <class 'dict_keys'>. Deshalb ändern wir den Typ der Variablen in Liste und speichern sie dann in der gleichen Variablen, nämlich listOfKeys.

An diesem Punkt haben Sie erfolgreich alle Schlüssel aus dem Dictionary mit Hilfe der Funktion keys() separiert und in eine Liste umgewandelt. Um schließlich die Elemente innerhalb der Liste zu drucken, müssen Sie eine for-Schleife verwenden, die über jedes Element iteriert und es ausgibt.

Konvertieren von Werten aus einem Dictionary in eine Liste mit der Methode values() in Python

Die Methode values() funktioniert auf die gleiche Weise wie die Methode keys(). Der einzige Unterschied ist, dass die Methode values() alle Werte des Dictionaries anstelle der Schlüssel zurückgibt.

dictionary = {"a": "Apple", "b": "Banana", "c": "Cherries", "d": "Dragon Fruit"}

listOfValues = dictionary.values()
print("Type of variable listOfValues is: ", type(listOfValues))

listOfValues = list(listOfValues)

print("Printing the entire list containing all values: ")
print(listOfValues)

print("Printing individual values stored in the list:")

for val in listOfValues:
    print(val)

Ausgabe:

Type of variable listOfValues is:  <class 'dict_values'>

Printing the entire list containing all values: 
['Apple', 'Banana', 'Cherries', 'Dragon Fruit']

Printing individual values stored in the list:
Apple
Banana
Cherries
Dragon Fruit

Sie verwenden die Funktion values() auf das dictionary und speichern dann das von der Funktion values() zurückgegebene Ergebnis in der Variablen listOfValues.

Wenn Sie den Typ der Variablen listOfValues überprüfen, dann ist ihr Typ von der Klasse <class 'dict_values'>. Sie wollen aber, dass sie von der Klasse <class 'list'> ist. Deshalb müssen Sie die Variable listOfValues mit der Funktion list() in eine Liste umwandeln und dann das Ergebnis in der gleichen Variablen, nämlich listOfValues, speichern.

Zuletzt drucken Sie alle Werte innerhalb der Liste listOfValues mit Hilfe einer Schleife aus.

Umwandlung eines Dictionaries in eine Liste von Tupeln in Python

Ein Dictionary kann auf zwei Arten in eine Liste von Tupeln umgewandelt werden. Zum einen mit der Funktion items() und zum anderen mit der Funktion zip().

1. items()-Funktion

Die Funktion items() konvertiert die Dictionaryelemente in <class 'dict_items'> und das Ergebnis wird in der Variablen myList gespeichert. Die Variable myList muss in eine Liste umgewandelt werden. Dazu müssen Sie sie mit der Funktion list() typisieren und das Ergebnis in der gleichen Variable, also myList, speichern.

dictionary = {"a": "Apple", "b": "Banana", "c": "Cherries", "d": "Dragon Fruit"}

myList = dictionary.items()
print(type(myList))

myList = list(myList)

print(myList)

Ausgabe:

<class 'dict_items'>
[('a', 'Apple'), ('b', 'Banana'), ('c', 'Cherries'), ('d', 'Dragon Fruit')]

2. zip() Funktion

Die Funktion zip() nimmt zwei Argumente entgegen: erstens den Schlüssel mit der Funktion keys() und zweitens den Wert mit der Funktion values() aus dem Dictionary. Sie gibt dann ein zip-Objekt zurück, das Sie in einer Variablen, in diesem Fall myList, speichern können.

dictionary = {"a": "Apple", "b": "Banana", "c": "Cherries", "d": "Dragon Fruit"}

myList = zip(dictionary.keys(), dictionary.values())
print(type(myList))

myList = list(myList)

print(myList)

Ausgabe:

<class 'zip'>
[('a', 'Apple'), ('b', 'Banana'), ('c', 'Cherries'), ('d', 'Dragon Fruit')]

Nun müssen Sie das zip-Objekt mit der Funktion list() in eine list umwandeln. Dann können Sie das Endergebnis in der gleichen Variable namens myList oder in einer anderen Variable speichern, je nach Bedarf, und am Ende die gesamte Liste ausgeben.

3. iteritems() in Python 2.x

In Python v2.x gibt es auch eine Funktion iteritems(), die fast genauso funktioniert wie die Funktion items().

Die Funktion iteritems() nimmt jedes Element aus dem dictionary und wandelt es in einen anderen Typ um. Wenn Sie den Typ der Variablen myList überprüfen, wird sie vom Typ <type 'dictionary-itemiterator'> sein. Also müssen Sie sie mit der Funktion list() in eine Liste umwandeln. Wenn Sie den Typ der Variablen myList überprüfen, dann ist sie vom Typ <type 'list'> und wenn Sie sie ausgeben, dann werden die Elemente in Form einer Liste von Tupeln vorliegen.

dictionary = {"a": "Apple", "b": "Banana", "c": "Cherries", "d": "Dragon Fruit"}

myList = dictionary.iteritems()
print("Type of myList is: ", type(myList))

myList = list(myList)
print(myList)

Ausgabe:

('Type of myList is: ', <type 'dictionary-itemiterator'>)

[('a', 'Apple'), ('c', 'Cherries'), ('b', 'Banana'), ('d', 'Dragon Fruit')]

Stellen Sie sicher, dass Sie den obigen Code auf dem Python v2.x-Compiler ausführen, sonst erhalten Sie einen Fehler, weil es diese Methode in Python v3.x nicht gibt.

Sahil Bhosale avatar Sahil Bhosale avatar

Sahil is a full-stack developer who loves to build software. He likes to share his knowledge by writing technical articles and helping clients by working with them as freelance software engineer and technical writer on Upwork.

LinkedIn

Verwandter Artikel - Python Dictionary

Verwandter Artikel - Python List