Datamanipulation händer mycket i programmering, beroende på vilket problem du tänker lösa. Du kanske ofta konverterar en datastruktur till en annan. Vissa typer är så lika att konvertera mellan dem är en enkel process.

I Python är att förvandla en ordbok till en kapslad eller tillplattad lista en populär konvertering som du kommer att finna dig själv att utföra.

Konvertera en Python-ordbok till en lista med en for-loop

De för loop ger dig mer grepp om dina data samtidigt som du konverterar en Python-ordbok till en lista.

Till exempel konverterar följande kod en ordbok till en kapslad lista:

myDictionary = {"A": "Python", "B": "JavaScript", "C": "Nod"}
convertedList = []

för i i minOrdbok:
convertedList.append([i, myDictionary[i]])

print (konverterad lista)

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

Ovanstående kod infogar varje nyckel (i) och värde (myDictionary[i]) koppla ihop till individuella listor och lägg till dem i en tom lista.

Det är samma sak som att skriva:

för nyckelvärde i myDictionary.items():
convertedList.append([nyckel, värde])
instagram viewer

Du kan också placera varje par i en uppsättning eller tuppel. Allt du behöver göra är att byta ut de fyrkantiga hängslen ([]) runt nyckelvärde par med lockiga hängslen ({}) eller parentes (()) i enlighet därmed.

Du kan också uppnå detta med en för slinga tillsammans med Pythons listförståelsefunktion:

convertedList = [[i, myDictionary[i]] för i i myDictionary]

Funktion för att konvertera en Python-ordbok till en platt lista

Medan ovanstående för loop-alternativ producerar en kapslad lista, du kan destrukturera den ytterligare till en rak lista om det är vad du vill.

Följande funktion gör det:

defconvertToStraightList(sampleDict):
flatList = []

för nyckelvärde i sampleDict.items():
flatList.extend([nyckel, värde])

lämna tillbaka flatList

print (convertToStraightList (myDictionary))

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

Ovanstående funktion returnerar en tillplattad lista, och konceptet är enkelt. Slingan lägger till var och en nyckel- och värde para till en lista som funktionen returnerar när den är klar.

Använda inbyggda One-Liner-funktioner

Både Karta och blixtlås funktioner tillåter enrads Python-lösningar till detta problem, med olika resultat. De kan vara mer lämpliga än för loop, beroende på ditt problem, och de är säkert mer bekväma.

De blixtlås funktionen producerar en kapslad lista med tupler:

convertedList = lista (zip (myDictionary.keys(), myDictionary.values()))
print (konverterad lista)

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

De Karta funktion, å andra sidan, ger en lista med listor:

convertedList = lista (karta (lista, myDictionary.items()))
print (konverterad lista)

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

Konvertera mellan Python-listor och ordböcker oavsett

Dessa olika sätt att konvertera en ordbok till en lista är ganska enkla i Python. Så du kan vrida en ordbok till en lista, men du kan också göra tvärtom genom att konvertera en Python-lista till en ordbok.

Hur man konverterar en lista till en ordbok i Python

Läs Nästa

Dela med sigTweetDela med sigE-post

Relaterade ämnen

  • Programmering
  • Programmering
  • Pytonorm

Om författaren

Idowu Omisola (149 publicerade artiklar)

Idowu brinner för allt smart teknik och produktivitet. På fritiden leker han med kodning och byter till schackbrädet när han har tråkigt, men han älskar också att bryta sig loss från rutinen då och då. Hans passion för att visa människor vägen runt modern teknik motiverar honom att skriva mer.

Mer från Idowu Omisola

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!

Klicka här för att prenumerera