Andmetöötlust juhtub programmeerimisel palju, olenevalt probleemist, mida kavatsete lahendada. Sageli võite leida end teisendamas üht andmestruktuuri teiseks. Mõned tüübid on nii sarnased, et nendevaheline teisendamine on lihtne protsess.

Pythonis on sõnastiku muutmine pesastatud või lamendatud loendiks üks populaarne teisendus, mida leiate.

Teisendage Pythoni sõnaraamat for Loopi abil loendiks

The jaoks loop annab Pythoni sõnastiku loendiks teisendamisel teie andmetele rohkem haarduvust.

Näiteks teisendab järgmine kood sõnastiku pesastatud loendiks:

myDictionary = {"A": "Python", "B": "JavaScript", "C": "Sõlm"}
convertedList = []

jaoks i sisse myDictionary:
convertedList.append([i, myDictionary[i]])

print (convertedList)

# Väljund: [['A', 'Python'], ['B', 'JavaScript'], ['C', "Sõlm"]]

Ülaltoodud kood lisab iga võtme (i) ja väärtus (minu sõnastik[i]) paari üksikuteks loenditeks ja lisab need tühja loendisse.

See on sama, mis kirjutamine:

jaoks võti, väärtus sisse myDictionary.items():
convertedList.append([võti, väärtus])

Iga paari saate paigutada ka komplekti või korteisse. Kõik, mida pead tegema, on nurksulgud ([]) ümber võti, väärtus siduda lokkis traksidega ({}) või sulg (()) vastavalt.

Seda saate saavutada ka kasutades a jaoks silmus koos Pythoni loendi mõistmise funktsioon:

convertedList = [[i, myDictionary[i]] jaoks i sisse myDictionary]

Funktsioon Pythoni sõnastiku teisendamiseks tasaseks loendiks

Kuigi ülaltoodud jaoks tsüklisuvandid loovad pesastatud loendi, saate selle edasi struktureerida sirgeks loendiks, kui see on see, mida soovite.

Seda teeb järgmine funktsioon:

defconvertToStraightList(näidisdikt):
flatList = []

jaoks võti, väärtus sisse sampleDict.items():
flatList.extend([võti, väärtus])

tagasi flatList

print (convertToStraightList (myDictionary))

# Väljund: ['A', 'Python', 'B', 'JavaScript', 'C', 'sõlm']

Ülaltoodud funktsioon tagastab lamestatud loendi ja kontseptsioon on lihtne. Silmus lisab iga võti ja väärtus siduda loendiga, mille funktsioon lõpetamisel tagastab.

Sisseehitatud One-Liner funktsioonide kasutamine

Mõlemad kaart ja tõmblukk funktsioonid võimaldavad üherealised Pythoni lahendused sellele probleemile erinevate tulemustega. Need võivad olla sobivamad kui jaoks loop, olenevalt teie probleemist ja need on kindlasti mugavamad.

The tõmblukk funktsioon loob pesastatud korteežiloendi:

convertedList = loend (zip (myDictionary.keys(), myDictionary.values()))
print (convertedList)

# Väljund: [('A', 'Python'), ('B', 'JavaScript'), ('C', 'sõlm')]

The kaart funktsioon seevastu annab loendite loendi:

convertedList = loend (kaart (loend, myDictionary.items()))
print (convertedList)

# Väljund: [['A', 'Python'], ['B', 'JavaScript'], ['C', "Sõlm"]]

Teisendage Pythoni loendid ja sõnaraamatud mõlemal viisil

Need erinevad viisid sõnastiku loendiks teisendamiseks on Pythonis üsna lihtsad. Seega saate sõnastiku loendiks keerata, kuid võite teha ka vastupidist, teisendades Pythoni loendi sõnastiks.

Kuidas teisendada loend Pythonis sõnaraamatuks

Loe edasi

JagaSäutsJagaMeil

Seotud teemad

  • Programmeerimine
  • Programmeerimine
  • Python

Autori kohta

Idowu Omisola (149 avaldatud artiklit)

Idowu on kirglik kõige nutika tehnoloogia ja tootlikkuse vastu. Vabal ajal mängib ta ringi kodeerimisega ja lülitub igavlemisel malelauale, kuid armastab ka aeg-ajalt rutiinist lahti murda. Tema kirg näidata inimestele teed kaasaegses tehnikas motiveerib teda rohkem kirjutama.

Veel Idowu Omisolalt

Liituge meie uudiskirjaga

Liituge meie uudiskirjaga tehniliste näpunäidete, arvustuste, tasuta e-raamatute ja eksklusiivsete pakkumiste saamiseks!

Tellimiseks klõpsake siin