Convertir une liste en dictionnaire en Python

Photo of author

By pierre



Transformer une liste en dictionnaire en Python est une opération accessible à tous.

Explorons différentes approches pour réaliser cette conversion.

Introduction

Avant de plonger dans ce guide pratique, illustrons la transformation d’une liste en dictionnaire à travers un exemple concret. Nous allons considérer une liste de tuples (chaque tuple étant composé de deux éléments) ou une simple liste d’éléments. Nous utiliserons ces entrées pour construire des dictionnaires.

Illustrations:

Dans cette première illustration, nous partons d’une liste de tuples pour créer un dictionnaire. Le premier élément de chaque tuple devient la clé, et le second, la valeur correspondante dans le dictionnaire.

Donnée de départ : list_one = [('a', 'A'), ('b', 'B'), ('c', 'C')]

Résultat : {'a' : 'A', 'b' : 'B', 'c' : 'C'}

Dans cette seconde illustration, nous prenons une liste d’éléments et la transformons en un dictionnaire où les éléments sont associés par paires en tant que clé et valeur. Si un élément n’a pas de partenaire, sa valeur sera définie comme « aucun » (si la liste contient un nombre impair d’éléments).

Donnée de départ : list_one = ['a', 'A', 'b', 'B', 'c', 'C', 'd']

Résultat : {'a' : 'A', 'b' : 'B', 'c' : 'C', 'd' : aucun}

Après avoir clarifié l’objectif de ce tutoriel, nous allons explorer ces deux exemples en utilisant différentes méthodes. Commençons par le premier cas.

Transformation d’une Liste de Tuples en Dictionnaire

Voyons de quelle manière convertir une liste de tuples en dictionnaire. Vous pouvez essayer de coder vous-même en suivant les étapes ci-dessous.

  • Définissez une liste de tuples avec des données fictives (comme dans les exemples précédents, assurez-vous que chaque tuple contienne deux éléments).
  • Utilisez la méthode dict sur la liste de tuples et stockez le résultat dans une nouvelle variable.
  • Voilà ! La liste de tuples est transformée en dictionnaire avec une seule ligne de code.
# Liste de tuples
list_of_tuples = [('a', 'A'), ('b', 'B'), ('c', 'C')]

# Conversion en dictionnaire
list_of_tuples_dict = dict(list_of_tuples)

# Affichage du dictionnaire résultant
print(list_of_tuples_dict)

Exécutez ce code et vous constaterez que le résultat est conforme aux exemples présentés.

Conversion d’une Liste Simple en Dictionnaire

Nous avons vu que transformer une liste de tuples en dictionnaire est simple en Python. Explorons maintenant comment convertir une liste d’éléments simple en dictionnaire.

Référez-vous au deuxième exemple de l’introduction pour plus de clarté.

Voici les étapes pour écrire le code de ce second exemple :

Nous allons utiliser la valeur « None » par défaut pour les éléments sans partenaire (si la liste possède un nombre impair d’éléments). Pour ce faire, nous emploierons la méthode zip_longest du module itertools.

  • Importez le module itertools et définissez une liste avec un nombre impair d’éléments, comme dans les exemples précédents.
  • Convertissez la liste en itérable pour empêcher la répétition des paires clé/valeur dans zip_longest.
  • Appliquez la méthode zip_longest à l’itérable en définissant fillvalue à « None ». Cela renverra un objet zip.
    • L’itérable est passé deux fois car la méthode prend la clé et la valeur de deux itérables différents. Dans ce cas, les clés et les valeurs sont dans le même itérable, d’où la nécessité de le passer deux fois avant de spécifier fillvalue.
  • Transformez l’objet zip en dictionnaire Python grâce à la fonction dict.
  • Affichez le résultat.
# Importation du module
import itertools

# Liste simple avec un nombre impair d'éléments
plain_list = ['a', 'A', 'b', 'B', 'c', 'C', 'd']

# Conversion en itérable
plain_list_iter = iter(plain_list)

# Conversion en dictionnaire
plain_list_dict_object = itertools.zip_longest(plain_list_iter, plain_list_iter, fillvalue=None)

# Transformation de l'objet zip en dictionnaire
plain_list_dict = dict(plain_list_dict_object)

# Affichage
print(plain_list_dict)

Vous pouvez définir n’importe quelle valeur pour fillvalue. Faites des essais et vérifiez si le résultat correspond à celui présenté dans l’exemple.

Conclusion

Nous espérons que vous avez apprécié ce guide sur la conversion de liste en dictionnaire. Rendez-vous dans le prochain tutoriel.

Découvrez ensuite comment aplatir une liste en Python.

Bon codage ! 🙂

Cet article vous a été utile ? N’hésitez pas à le partager avec votre communauté !