Å konvertere en liste til en ordbok i Python er ikke så vanskelig.
La oss sjekke ut forskjellige måter å konvertere en liste til en ordbok.
Innholdsfortegnelse
Intro
Før vi hopper inn i opplæringen, la oss se et eksempel på å konvertere en liste til en ordbok. Vi vil ha en liste over tupler (hver tuppel består av to elementer) eller bare en liste over elementer. Vi tar begge input og konverterer dem til ordbøker.
Eksempler:
I det følgende eksempelet har vi tatt en liste over tupler og konvertert den til en ordbok. Vi har tatt det første elementet i hver tuppel som en nøkkel og det andre elementet som en verdi for ordboken.
Inndata: list_one = [(‘a’, ‘A’), (‘b’, ‘B’), (‘c’, ‘C’)]
Utdata: {«a»: «A», «b»: «B», «c»: «C»}
I følgende eksempel har vi tatt en liste over elementer og konvertert den til en ordbok med alternative elementer som nøkkel og verdi. Vi vil gi null til nøkkelen hvis det ikke er noe element igjen for den som nøkkel (hvis listen har et oddetall av elementer).
Inndata: list_one = [‘a’, ‘A’, ‘b’, ‘B’, ‘c’, ‘C’, ‘d’]
Utdata:{«a»: «A», «b»: «B», «c»: «C», «d»: Ingen}
Vi har sett målet med opplæringen. Og vi vil diskutere begge eksemplene på forskjellige måter. La oss starte med det første eksemplet.
Liste over Tuples – Ordbok
La oss se hvordan du konverterer en liste over tuples til en ordbok. Du kan prøve å skrive koden ved hjelp av følgende trinn.
- Initialiser listen over tupler med dummydata som gitt eksemplene ovenfor (sørg for at hver tuppel i listen har nøyaktig to elementer).
- Send listen over tuples to dict-metoden og den lagrer resultatet i en ny variabel.
- Det er det, vi har konvertert en liste over tuples til en ordbok med en enkelt kodelinje.
# list of tuples list_of_tuples = [('a', 'A'), ('b', 'B'), ('c', 'C')] # converting to dictionary list_of_tuples_dict = dict(list_of_tuples) # printing the result dict print(list_of_tuples_dict)
Du kan teste programmet ovenfor ved å kjøre det. Resultatet får du som vi ser i eksemplene.
Liste – Ordbok
Vi har sett hvordan du konverterer en liste over tuples til en ordbok, og det er en grei ting i Python. I denne delen skal vi se hvordan du konverterer en vanlig liste til en ordbok.
Se det andre eksemplet fra den første delen av opplæringen for å få mer klarhet.
Følg trinnene nedenfor for å skrive koden for det andre eksemplet.
Vi har fylt standardverdien som Ingen for elementet som ikke vil ha noen verdi (en liste som inneholder et oddetall av elementer). For det må vi bruke en metode kalt zip_longest fra modulen itertools.
- Importer modulens itertools og initialiser en liste med et oddetall av elementer gitt i eksemplene.
- Konverter listen til en iterabel for å unngå repetisjon av nøkkel- og verdipar i zip_longest-metoden.
- Send nå den iterable til metoden zip_longest og fillvalue som None. Det vil returnere et zip-objekt.
- Vi må passere iterable to ganger da det tar nøkkel og verdi fra de to iterablene. I vårt tilfelle er både nøkler og verdier i samme iterable. Så vi må gi den to ganger før fillvalue.
- Konverter objektet til Python-ordboken ved å bruke dict-metoden.
- Skriv ut resultatet.
# importing the module import itertools # plain list with odd number of elements plain_list = ['a', 'A', 'b', 'B', 'c', 'C', 'd'] # converting it to iterable to avoid repetition plain_list_iter = iter(plain_list) # converting the plain_list to dict plain_list_dict_object = itertools.zip_longest(plain_list_iter, plain_list_iter, fillvalue=None) # convert the zip_longest object to dict using `dict` plain_list_dict = dict(plain_list_dict_object) # print it print(plain_list_dict)
Du kan gi fyllverdien hva du vil. Prøv ut forskjellige ting med den. Og utfør koden for å se om vi får den nøyaktige utgangen som nevnt i eksemplet eller ikke.
Konklusjon
Håper du likte å konvertere listen til en ordbok. La oss møtes i neste veiledning.
Deretter lærer du hvordan du flater ut liste i Python.
Lykke til med koding 🙂
Likte du å lese artikkelen? Hva med å dele med verden?