Manipulacija podacima se često događa u programiranju, ovisno o problemu koji namjeravate riješiti. Često se možete naći kako pretvarate jednu strukturu podataka u drugu. Neke su vrste toliko slične da je pretvaranje između njih jednostavan proces.

U Pythonu, pretvaranje rječnika u ugniježđeni ili spljošteni popis jedna je popularna konverzija koju ćete provoditi.

Pretvorite Python rječnik u popis koristeći for petlju

The za petlja vam daje više privlačenja vaših podataka dok pretvarate Python rječnik u popis.

Na primjer, sljedeći kod pretvara rječnik u ugniježđeni popis:

myDictionary = {"A": "Python", "B": "JavaScript", "C": "Čvor"}
konvertirani popis = []

za i u moj rječnik:
convertedList.append([i, myDictionary[i]])

ispis (pretvoreni popis)

# Izlaz: [['A', 'Python'], ['B', 'JavaScript'], ['C', 'Čvor']]

Gornji kod umeće svaki ključ (i) i vrijednost (moj rječnik[i]) uparuje u pojedinačne popise i dodaje ih u prazan popis.

To je isto kao i napisati:

za ključ, vrijednost u myDictionary.items():
convertedList.append([ključ, vrijednost])
instagram viewer

Svaki par također možete smjestiti u skup ili torku. Sve što trebate učiniti je zamijeniti četvrtaste zagrade ([]) oko ključ, vrijednost upariti s vitičastim zagradama ({}) ili zagrada (()) prema tome.

To također možete postići pomoću a za petlja zajedno sa Pythonova značajka razumijevanja popisa:

convertedList = [[i, myDictionary[i]] za i u moj rječnik]

Funkcija za pretvaranje Python rječnika u ravni popis

Dok je gore navedeno za opcije petlje proizvode ugniježđeni popis, možete ga dalje destrukturirati u ravni popis ako je to ono što želite.

Sljedeća funkcija to čini:

defconvertToStraightList(sampleDict):
flatList = []

za ključ, vrijednost u sampleDict.items():
flatList.extend([ključ, vrijednost])

povratak flatList

ispis (convertToStraightList (myDictionary))

# Izlaz: ['A', 'Python', 'B', 'JavaScript', 'C', 'Čvor']

Gornja funkcija vraća spljošteni popis, a koncept je jednostavan. Petlja se dodaje svaki ključ i vrijednost upariti s popisom koji funkcija vraća kada završi.

Korištenje ugrađenih jednolinijskih funkcija

Obje karta i patentni zatvarač funkcije omogućuju jednolinijska rješenja za Python na ovaj problem, s različitim rezultatima. Oni mogu biti prikladniji od za petlje, ovisno o vašem problemu, a svakako su prikladnije.

The patentni zatvarač funkcija proizvodi ugniježđeni popis tuple:

convertedList = lista (zip (myDictionary.keys(), myDictionary.values()))
ispis (pretvoreni popis)

# Izlaz: [('A', 'Python'), ('B', 'JavaScript'), ('C', 'Čvor')]

The karta funkcija, s druge strane, daje popis popisa:

convertedList = lista (karta (list, myDictionary.items()))
ispis (pretvoreni popis)

# Izlaz: [['A', 'Python'], ['B', 'JavaScript'], ['C', 'Čvor']]

Pretvorite između Python popisa i rječnika na bilo koji način

Ovi različiti načini pretvaranja rječnika u popis prilično su jednostavni u Pythonu. Dakle, možete izvrnuti rječnik u popis, ali možete učiniti i suprotno pretvaranjem Python popisa u rječnik.

Kako pretvoriti popis u rječnik u Pythonu

Pročitajte dalje

UdioCvrkutUdioE-mail

Povezane teme

  • Programiranje
  • Programiranje
  • Piton

O autoru

Idowu Omisola (Objavljeno 149 članaka)

Idowu je strastven za sve pametne tehnologije i produktivnost. U slobodno vrijeme igra se s kodiranjem i prelazi na šahovsku ploču kad mu je dosadno, ali voli se s vremena na vrijeme otrgnuti od rutine. Njegova strast da ljudima pokaže put oko moderne tehnologije motivira ga da piše više.

Više od Idowua Omisole

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e-knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu