Comment convertir un dictionnaire en tuple en Python ?

Par : TutorialsGrey, le 13 Janvier 2022

En Python, il existe différents types de données, et il arrive parfois que l'on veuille passer d'un type de données à un autre selon nos besoins. Un dictionnaire est un type de données en Python qui permet de regrouper les données par paires : clé-valeur. Dans cet article, nous allons voir les différents moyens que l'on peut utiliser pour convertir un dictionnairre en tuple.

 

Convertir un dictionnaire en tuples avec la fonction items()

La fonction items() retourne une un objet contenant les paires clé-valeur du dictionnaire sous forme de tuples dans une liste. Cette fonction peut être utilisée avec la fonction list() pour obtenir le résultat final sous forme de liste. Voyons à présent le code qui nous permet de faire cette conversion.

Code

d = {'a':1, 'b':2, 'c':3}
l = list(d.items())
print(l)

Résultat

[('a', 1), ('b', 2), ('c', 3)]

 

Convertir un dictionnaire en tuples en utilisant la boucle for

Dans cette méthode, nous allons parcourir le dictionnaire en utilisant la boucle for. Nous allons nous servir des clés du dictionnaire pour accéder aux éléments et créer des tuples, qui seront ensuite ajoutés dans une liste. Le code ci-dessous montre comment faire.

Code

d = {'a':1, 'b':2, 'c':3}
l =[]

for i in d:
    t = (i, d[i])
    l.append(t)

print(l)

Résultat

L'exécution de l'extrait de code ci-dessus fournit le résultat suivant :

[('a', 1), ('b', 2), ('c', 3)]

 

 

 Convertir un dictionnaire en tuples en utilisant les listes de compréhension

Les listes de compréhension sont une méthode courte et efficace de créer des listes en une seule ligne de code. Dans cette méthode, nous allons utiliser la boucle for et la fonction items() comme présenté dans le code ci-dessous.

Code

d = {'a':1, 'b':2, 'c':3}
l = [(k, v) for k, v in d.items()]
print(l)

Résultat

L'exécution du code ci-dessus produit le résultat suivant :

[('a', 1), ('b', 2), ('c', 3)]

 

Convertir un dictionnaire en tuples en utilisant la fonction zip()

La fonction zip() retourne un objet de type zip en combinant deux objets itérables pour former des tuples. L'objet retourné par la fonction zip() peut être passé en paramètre de la fonction list() pour obtenir comme résultat une liste de tuples. Le code ci-dessous est une implémentation de ce que nous venons de dire.

Code

d = {'a':1, 'b':2, 'c':3}
l = list(zip(d.keys(), d.values()))
print(l)

Résultat

L'exécution du code ci-dessus fournit le même résultat que les précédents.

[('a', 1), ('b', 2), ('c', 3)]