Datamanipulering skjer mye i programmering, avhengig av problemet du har tenkt å løse. Du kan ofte finne deg selv å konvertere en datastruktur til en annen. Noen typer er så like at konvertering mellom dem er en enkel prosess.
I Python er det å gjøre en ordbok om til en nestet eller sammenslått liste en populær konvertering du vil finne deg selv i å utføre.
Konverter en Python-ordbok til en liste ved å bruke en for-løkke
De til loop gir deg mer trekkraft på dataene dine mens du konverterer en Python-ordbok til en liste.
Følgende kode konverterer for eksempel en ordbok til en nestet liste:
myDictionary = {"A": "Python", "B": "JavaScript", "C": "Node"}
convertedList = []til Jeg i min ordbok:
convertedList.append([i, minOrdbok[i]])print (konvertert liste)
# Utdata: [['A', 'Python'], ['B', 'JavaScript'], ['C', 'Node']]
Koden ovenfor setter inn hver nøkkel (Jeg) og verdi (min ordbok[i]) koble til individuelle lister og legger dem til i en tom liste.
Det er det samme som å skrive:
til nøkkel, verdi i myDictionary.items():
convertedList.append([nøkkel, verdi])
Du kan også plassere hvert par i et sett eller tuppel. Alt du trenger å gjøre er å bytte ut de firkantede seler ([]) rundt nøkkel, verdi par med krøllete seler ({}) eller parentes (()) tilsvarende.
Du kan også oppnå dette ved å bruke en til løkke sammen med Pythons listeforståelsesfunksjon:
convertedList = [[i, minOrdbok[i]] til Jeg i min ordbok]
Funksjon for å konvertere en Python-ordbok til en flat liste
Mens ovennevnte til loop-alternativer produserer en nestet liste, du kan destrukturere den videre til en rett liste hvis det er det du vil.
Følgende funksjon gjør det:
defconvertToStraightList(sampleDict):
flatliste = []til nøkkel, verdi i sampleDict.items():
flatList.extend([nøkkel, verdi])komme tilbake flatliste
print (convertToStraightList (myDictionary))
# Utdata: ['A', 'Python', 'B', 'JavaScript', 'C', 'Node']
Funksjonen ovenfor returnerer en sammenflatet liste, og konseptet er enkelt. Løkken legger til hver nøkkel og verdi par til en liste som funksjonen returnerer når den er ferdig.
Bruk av innebygde One-Liner-funksjoner
Begge kart og glidelås funksjoner gir rom for én-linje Python-løsninger til dette problemet, med forskjellige resultater. De kan være mer egnet enn til loop, avhengig av problemet ditt, og de er absolutt mer praktiske.
De glidelås funksjonen produserer en nestet liste over tupler:
convertedList = liste (zip (myDictionary.keys(), myDictionary.values()))
print (konvertert liste)
# Utdata: [('A', 'Python'), ('B', 'JavaScript'), ('C', 'Node')]
De kart funksjon gir på den annen side en liste over lister:
convertedList = liste (kart (liste, myDictionary.items()))
print (konvertert liste)
# Utdata: [['A', 'Python'], ['B', 'JavaScript'], ['C', 'Node']]
Konverter mellom Python-lister og ordbøker uansett
Disse forskjellige måtene å konvertere en ordbok til en liste er ganske enkle i Python. Så du kan vri en ordbok til en liste, men du kan også gjøre det motsatte ved å konvertere en Python-liste til en ordbok.
Hvordan konvertere en liste til en ordbok i Python
Les Neste
Relaterte temaer
- Programmering
- Programmering
- Python
Om forfatteren
Idowu er lidenskapelig opptatt av alt smart teknologi og produktivitet. På fritiden leker han med koding og bytter til sjakkbrettet når han kjeder seg, men han elsker også å bryte ut av rutinene en gang i blant. Hans lidenskap for å vise folk veien rundt moderne teknologi motiverer ham til å skrive mer.
Abonner på vårt nyhetsbrev
Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!
Klikk her for å abonnere