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])
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
Povezane teme
- Programiranje
- Programiranje
- Piton
O autoru
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.
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