Gegevensmanipulatie komt veel voor bij het programmeren, afhankelijk van het probleem dat u wilt oplossen. U merkt vaak dat u de ene gegevensstructuur naar de andere converteert. Sommige typen lijken zo op elkaar dat het converteren tussen hen een eenvoudig proces is.

In Python is het veranderen van een woordenboek in een geneste of afgeplatte lijst een populaire conversie die u zelf zult uitvoeren.

Converteer een Python-woordenboek naar een lijst met een for-lus

De voor loop geeft u meer grip op uw gegevens terwijl u een Python-woordenboek omzet in een lijst.

De volgende code converteert bijvoorbeeld een woordenboek naar een geneste lijst:

myDictionary = {"A": "Python", "B": "JavaScript", "C": "Node"}
geconverteerde lijst = []

voor i in mijn woordenboek:
convertList.append([i, mijnwoordenboek[i]])

print (geconverteerde lijst)

# Uitvoer: [['A', 'Python'], ['B', 'JavaScript'], ['C', 'Node']]

De bovenstaande code voegt elke sleutel in (i) en waarde (mijnWoordenboek[i]) koppelen aan afzonderlijke lijsten en deze toevoegen aan een lege lijst.

Het is hetzelfde als schrijven:

voor sleutel waarde in mijnDictionary.items():
convertList.append([sleutel, waarde])

Je kunt elk paar ook in een set of tupel plaatsen. Het enige wat u hoeft te doen is de vierkante accolades ([]) rond de sleutel waarde paar met accolades ({}) of haakjes (()) overeenkomstig.

U kunt dit ook bereiken met een voor loop samen met De functie voor lijstbegrip van Python:

convertList = [[i, mijnwoordenboek[i]] voor i in mijn woordenboek]

Functie om een ​​Python-woordenboek om te zetten in een platte lijst

Terwijl het bovenstaande voor loop-opties produceren een geneste lijst, u kunt deze verder opsplitsen in een rechte lijst als u dat wilt.

De volgende functie doet het:

zekerconvertToStraightList(voorbeeldDict):
flatList = []

voor sleutel waarde in sampleDict.items():
flatList.extend([sleutel, waarde])

opbrengst flatList

print (convertToStraightList (mijnwoordenboek))

# Uitvoer: ['A', 'Python', 'B', 'JavaScript', 'C', 'Node']

De bovenstaande functie retourneert een afgeplatte lijst en het concept is eenvoudig. De lus voegt elk toe sleutel en waarde koppelen aan een lijst die de functie retourneert wanneer deze is voltooid.

Ingebouwde one-liner-functies gebruiken

Beide kaart en zip functies zorgen voor: eenregelige Python-oplossingen voor dit probleem, met verschillende resultaten. Ze zijn misschien meer geschikt dan de voor lus, afhankelijk van uw probleem, en ze zijn zeker handiger.

De zip functie produceert een geneste lijst met tupels:

convertList = lijst (zip (myDictionary.keys(), myDictionary.values()))
print (geconverteerde lijst)

# Uitvoer: [('A', 'Python'), ('B', 'JavaScript'), ('C', 'Node')]

De kaart functie, aan de andere kant, geeft een lijst met lijsten:

convertList = lijst (kaart (lijst, myDictionary.items()))
print (geconverteerde lijst)

# Uitvoer: [['A', 'Python'], ['B', 'JavaScript'], ['C', 'Node']]

Hoe dan ook converteren tussen Python-lijsten en woordenboeken

Deze verschillende manieren om een ​​woordenboek om te zetten in een lijst zijn vrij eenvoudig in Python. Je kunt dus een woordenboek omzetten in een lijst, maar je kunt ook het tegenovergestelde doen door een Python-lijst om te zetten in een woordenboek.

Een lijst converteren naar een woordenboek in Python

Lees volgende

DelenTweetenDelenE-mail

Gerelateerde onderwerpen

  • Programmeren
  • Programmeren
  • Python

Over de auteur

Idowu Omisola (149 artikelen gepubliceerd)

Idowu is gepassioneerd door alles wat slimme technologie en productiviteit betreft. In zijn vrije tijd speelt hij met coderen en schakelt hij over naar het schaakbord als hij zich verveelt, maar hij vindt het ook heerlijk om af en toe uit de routine te stappen. Zijn passie om mensen de weg te wijzen in moderne technologie motiveert hem om meer te schrijven.

Meer van Idowu Omisola

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren