Convertir un dictionnaire en liste en Python

  1. Convertir les clés d’un dictionnaire en liste à l’aide de la méthode keys() en Python
  2. Convertir les valeurs du dictionnaire en liste à l’aide de la méthode values() en Python
  3. Convertir le dictionnaire en une liste de tuples en Python

Un dictionnaire en Python est une combinaison de paires clé-valeur. Avec l’aide de la clé, vous pouvez accéder aux valeurs à l’intérieur du dictionnaire. Maintenant, convertir un dictionnaire en liste en Python peut signifier différentes choses. Soit,

  1. Vous pouvez séparer les clés et les convertir en une liste
  2. Vous pouvez séparer les valeurs et les convertir en liste
  3. Convertissez la paire clé et valeur du dictionnaire en une liste de tuples.

Convertir les clés d’un dictionnaire en liste à l’aide de la méthode keys() en Python

Supposons que vous ayez un dictionnaire nommé dictionary avec quatre paires clé-valeur.

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)

Production:

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

Vous pouvez utiliser la méthode keys(), qui extraira toutes les clés du dictionnaire puis stockera le résultat (toutes les clés) dans la variable listOfKeys.

Maintenant, vous devez convertir la variable listOfKeys en une liste à l’aide de la fonction list()car à ce stade, si vous cochez le type de la variable listOfKeys alors ce sera <class 'dict_keys'>. C’est pourquoi nous changeons le type de la variable en List, puis le stockons dans la même variable, c’est-à-dire listOfKeys.

À ce stade, vous avez réussi à séparer toutes les clés du dictionnaire à l’aide de la fonction keys() et les avez converties en une liste. Enfin, pour imprimer les éléments à l’intérieur de la liste, vous devez utiliser une boucle for, qui itère sur chaque élément et l’imprime.

Convertir les valeurs du dictionnaire en liste à l’aide de la méthode values() en Python

La méthode values() fonctionne de la même manière que la méthode keys(). La seule différence est que la méthode values() renvoie toutes les valeurs du dictionnaire au lieu des clés.

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)

Production:

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

Vous utilisez la fonction values() sur le dictionary, puis vous stockez le résultat renvoyé par la fonction values() dans la variable listOfValues.

Si vous cochez le type de la variable listOfValues alors son type sera de la classe <class 'dict_values'>. Mais vous voulez qu’il soit de la classe <class 'list'>. Par conséquent, vous devez convertir la variable listOfValues en une liste à l’aide de la fonction list(), puis stocker le résultat dans la même variable, c’est-à-dire listOfValues.

Enfin, imprimez toutes les valeurs de la liste listOfValues en utilisant une boucle.

Convertir le dictionnaire en une liste de tuples en Python

Un dictionnaire peut être converti en une liste de tuples de deux manières. L’une est la fonction items() et l’autre est la fonction zip().

1. items() Fonction

La fonction items() convertit les éléments du dictionnaire en <class 'dict_items'> et dont le résultat est stocké dans la variable myList. La myList doit être convertie en liste, donc pour cela, vous devez la convertir en utilisant la fonction list() puis stocker le résultat dans la même variable, c’est-à-dire myList.

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

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

myList = list(myList)

print(myList) 

Production:

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

2. Fonction zip()

La fonction zip() prend deux arguments, le premier est la clé utilisant la fonction keys() et le second est le value en utilisant la fonction values() du dictionnaire. Il renvoie ensuite un objet zip que vous pouvez stocker dans une variable, dans ce cas, myList.

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

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

myList = list(myList)

print(myList) 

Production:

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

Vous devez maintenant convertir l’objet zip en une liste en utilisant la fonction list(). Ensuite, vous pouvez stocker le résultat final dans la même variable appelée myList ou dans une variable différente en fonction de vos besoins et à la fin, imprimer la liste entière.

3. iteritems() en Python 2.x

Dans Python v2.x, vous avez également une fonction iteritems(), qui fonctionne presque de la même manière que la fonction items().

Le iteritems() prend chaque élément du dictionnaire et le convertit en un type différent. Si vous cochez le type de la variable myList, elle sera de type <type 'dictionary-itemiterator'>. Donc, vous devez le convertir en une liste en utilisant la fonction list(). Si vous cochez le type de la variable myList alors elle sera de type <type 'list'> et si vous l’imprimez alors les éléments seront sous la forme d’une liste de tuples.

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)

Production:

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

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

Assurez-vous que vous exécutez le code ci-dessus sur le compilateur Python v2.x; sinon, vous obtiendrez une erreur car nous n’avons pas cette méthode dans Python v3.x.

Article connexe - Python Dictionary

  • Index du dictionnaire Python
  • Comment trouver la valeur maximale dans le dictionnaire Python
  • Article connexe - Python List

  • Convertir deux listes en dictionnaire en Python
  • La liste de contrôle est vide en Python