La manipulation de données se produit beaucoup dans la programmation, selon le problème que vous avez l'intention de résoudre. Vous pouvez souvent vous retrouver à convertir une structure de données en une autre. Certains types sont si similaires que la conversion entre eux est un processus simple.
En Python, transformer un dictionnaire en une liste imbriquée ou aplatie est une conversion populaire que vous vous retrouverez à effectuer.
Convertir un dictionnaire Python en une liste à l'aide d'une boucle for
Le pour loop vous donne plus de traction sur vos données tout en convertissant un dictionnaire Python en une liste.
Par exemple, le code suivant convertit un dictionnaire en une liste imbriquée :
monDictionnaire = {"A": "Python", "B": "JavaScript", "C": "Nœud"}
listeconvertie = []pour je dans Mon dictionnaire:
convertiListe.append([i, myDictionary[i]])print (convertedList)
# Sortie: [['A', 'Python'], ['B', 'JavaScript'], ['C', 'Noeud']]
Le code ci-dessus insère chaque clé (je) et la valeur (monDictionnaire[i]) paire dans des listes individuelles et les ajoute dans une liste vide.
C'est la même chose que d'écrire :
pour valeur clé dans monDictionnaire.items() :
convertList.append([clé, valeur])
Vous pouvez également placer chaque paire dans un ensemble ou un tuple. Il vous suffit de remplacer les accolades carrées ([]) autour du valeur clé associer avec des accolades ({}) ou parenthèse (()) par conséquent.
Vous pouvez également y parvenir à l'aide d'un pour boucle avec Fonctionnalité de compréhension de liste de Python:
listeconvertie = [[i, myDictionary[i]] pour je dans Mon dictionnaire]
Fonction pour convertir un dictionnaire Python en une liste plate
Alors que ce qui précède pour les options de boucle produisent une liste imbriquée, vous pouvez la déstructurer davantage en une liste simple si c'est ce que vous voulez.
La fonction suivante le fait :
définitivementconvertToStraightList(exempleDict):
liste plate = []pour valeur clé dans sampleDict.items() :
flatList.extend([clé, valeur])retourner flatList
imprimer (convertToStraightList (myDictionary))
# Sortie: ['A', 'Python', 'B', 'JavaScript', 'C', 'Noeud']
La fonction ci-dessus renvoie une liste aplatie et le concept est simple. La boucle ajoute chaque clé et valeur paire à une liste que la fonction renvoie lorsqu'elle est terminée.
Utilisation des fonctions One-Liner intégrées
Les deux carte et Zip *: français les fonctions permettent solutions Python à une ligne à ce problème, avec des résultats différents. Ils peuvent être plus adaptés que les pour boucle, en fonction de votre problème, et ils sont certainement plus pratiques.
Le Zip *: français La fonction produit une liste imbriquée de tuples :
convertList = liste (zip (myDictionary.keys(), myDictionary.values()))
print (convertedList)
# Sortie: [('A', 'Python'), ('B', 'JavaScript'), ('C', 'Noeud')]
Le carte fonction, d'autre part, donne une liste de listes:
convertList = liste (carte (liste, myDictionary.items()))
print (convertedList)
# Sortie: [['A', 'Python'], ['B', 'JavaScript'], ['C', 'Noeud']]
Convertir entre les listes Python et les dictionnaires dans les deux sens
Ces différentes façons de convertir un dictionnaire en liste sont assez simples en Python. Ainsi, vous pouvez transformer un dictionnaire en liste, mais vous pouvez également faire le contraire en convertissant une liste Python en dictionnaire.
Comment convertir une liste en dictionnaire en Python
Lire la suite
Rubriques connexes
- Programmation
- Programmation
- Python
A propos de l'auteur
Idowu est passionné par tout ce qui concerne les technologies intelligentes et la productivité. Pendant son temps libre, il joue avec le codage et passe à l'échiquier quand il s'ennuie, mais il aime aussi rompre avec la routine de temps en temps. Sa passion pour montrer aux gens le chemin de la technologie moderne le motive à écrire davantage.
Abonnez-vous à notre newsletter
Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !
Cliquez ici pour vous abonner