Gitt en ordbok, skriv et Python-program for å få ordboknøklene som en liste.
Eksempler:
Input : {1:'a', 2:'b', 3:'c'} Output : [1, 2, 3] Input : {'A' : 'ant', 'B' : 'ball'} Output : ['A', 'B']> Metode 1: Få ordboknøkler som en liste ved å bruke dict.keys()
Python list()-funksjonen tar hvilken som helst iterabel som en parameter og returnerer en liste. I Python er iterable objektet du kan iterere over.
Python3
mydict>=> {>1>:>'Geeks'>,>2>:>'for'>,>3>:>'geeks'>}> keysList>=> list>(mydict.keys())> print>(keysList)> |
>
>Produksjon
[1, 2, 3]>
Tidskompleksiteten til programmet er O(n), der n er antall nøkler i ordboken.
Romkompleksiteten til programmet er O(n), der n er antall nøkler i ordboken. Dette er fordi programmet lager et nytt listeobjekt med samme antall elementer som nøklene i ordboken, noe som krever ekstra minne.
shilpa shetty alder
Metode 2: Få ordboknøkler som en liste ved å bruke For Loop and append-metoden
I denne metoden vil vi iterere over hver tast ved å bruke dict.keys() funksjon og legge til dem til en ny liste navngitt som en liste.
Python3
# Python program to get> # dictionary keys as list> def> getList(>dict>):> >list> => []> >for> key>in> dict>.keys():> >list>.append(key)> > >return> list> > # Driver program> dict> => {>1>:>'Geeks'>,>2>:>'for'>,>3>:>'geeks'>}> print>(getList(>dict>))> |
>
>Produksjon
[1, 2, 3]>
Tidskompleksitet: O(n)
Hjelpeområde: O(n)
Metode 3: Ordboknøkler til liste ved hjelp av listeforståelse
Her vil vi prøve å forkorte koden vår ved å bruke listeforståelse i Python.
Python3
dict> => {>1>:>'Geeks'>,>2>:>'for'>,>3>:>'geeks'>}> keysList>=> [key>for> key>in> dict>]> print>(keysList)> |
>
>Produksjon
[1, 2, 3]>
Tidskompleksitet: O(n), der n er antall nøkkel-verdi-par i ordboken.
Hjelpemellomrom: O(n), for å lagre nøklene og verdiene i ordboken.
Metode 4: Ordboknøkler til liste ved hjelp av Utpakking med *
Utpakking med * fungerer med ethvert gjentakbart objekt, og siden ordbøker returnerer nøklene sine når de gjentas, kan du enkelt lage en liste ved å bruke den i en bokstavlig liste.
Python3
def> getList(>dict>):> >return> [>*>dict>]> # Driver program> dict> => {>'a'>:>'Geeks'>,>'b'>:>'For'>,>'c'>:>'geeks'>}> print>(getList(>dict>))> |
>
>
Produksjon:
['a', 'b', 'c']>
Tidskompleksitet: O(N)
Hjelpeområde: O(N)
Metode 5: Ordboknøkler til liste ved hjelp av itemgetter
Elementgetteren fra operatørmodulen returnerer et anropbart objekt som henter et element fra sin operand ved å bruke operandens __getitem__ () metode. Denne metoden er tilordnet til dict.items() og deretter typecastet til liste.
Python3
from> operator>import> itemgetter> def> getList(>dict>):> >return> list>(>map>(itemgetter(>0>),>dict>.items()))> # Driver program> dict> => {>'a'>:>'Geeks'>,>'b'>:>'For'>,>'c'>:>'geeks'>}> print>(getList(>dict>))> |
>
>
Produksjon:
['a', 'b', 'c']>
Metode6: Bruke kart og lambda
En annen tilnærming for å få ordboknøklene som en liste er å bruke map()-funksjonen i kombinasjon med en lambda-funksjon.
Her er et eksempel på hvordan dette kan gjøres:
Python3
def> get_keys_as_list(dictionary):> >return> list>(>map>(>lambda> x: x[>0>], dictionary.items()))> # Driver program> dictionary>=> {>1>:>'Geeks'>,>2>:>'for'>,>3>:>'geeks'>}> print>(get_keys_as_list(dictionary))> #This code is contributed by Edula Vinay Kumar Reddy> |
>
>Produksjon
[1, 2, 3]>
Denne tilnærmingen bruker map()-funksjonen til å bruke lambda-funksjonen på hvert element i ordboken, som returnerer nøkkelen fra hvert element. Det resulterende iteratorobjektet sendes deretter til list()-funksjonen for å lage en liste over nøklene.
Denne tilnærmingen har en tidskompleksitet på O(n) og en hjelperomkompleksitet på O(n), der n er antall nøkler i ordboken. Det er en kortfattet og effektiv måte å få ordboknøklene som en liste.