logo

Python | Få ordbogsnøgler som en liste

Givet en ordbog, skriv et Python-program for at få ordbogsnøglerne 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å ordbogsnøgler som en liste ved hjælp af dict.keys()

Python list()-funktionen tager enhver iterabel som en parameter og returnerer en liste. I Python er iterable det objekt, du kan iterere over.

Python3








mydict>=> {>1>:>'Geeks'>,>2>:>'for'>,>3>:>'geeks'>}> keysList>=> list>(mydict.keys())> print>(keysList)>

>

>

Produktion

[1, 2, 3]>

Programmets tidskompleksitet er O(n), hvor n er antallet af nøgler i ordbogen.

Programmets rumkompleksitet er O(n), hvor n er antallet af nøgler i ordbogen. Dette skyldes, at programmet opretter et nyt listeobjekt med det samme antal elementer som nøglerne i ordbogen, hvilket kræver ekstra hukommelse.

shilpa shetty alder

Metode 2: Få ordbogsnøgler som en liste ved hjælp af metoden For Loop og tilføj

I denne metode vil vi iterere over hver tast ved hjælp af dict.keys() funktion og Tilføj dem til en ny liste navngivet 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>))>

>

>

Produktion

[1, 2, 3]>

Tidskompleksitet: O(n)
Hjælpeplads: O(n)

Metode 3: Ordbogsnøgler til liste ved hjælp af listeforståelse

Her vil vi forsøge at forkorte vores kode ved hjælp af listeforståelse i Python.

Python3




dict> => {>1>:>'Geeks'>,>2>:>'for'>,>3>:>'geeks'>}> keysList>=> [key>for> key>in> dict>]> print>(keysList)>

>

>

Produktion

[1, 2, 3]>

Tidskompleksitet: O(n), hvor n er antallet af nøgleværdi-par i ordbogen.
Hjælpemellemrum: O(n), for at gemme nøglerne og værdierne i ordbogen.

Metode 4: Ordbogsnøgler til liste ved hjælp af udpakning med *

Udpakning med * virker med ethvert iterabelt objekt, og da ordbøger returnerer deres nøgler, når de gentages, kan du nemt oprette en liste ved at bruge den i en liste.

Python3




def> getList(>dict>):> >return> [>*>dict>]> # Driver program> dict> => {>'a'>:>'Geeks'>,>'b'>:>'For'>,>'c'>:>'geeks'>}> print>(getList(>dict>))>

>

>

Produktion:

['a', 'b', 'c']>

Tidskompleksitet: O(N)

Hjælpeplads: O(N)

Metode 5: Ordbogsnøgler til liste ved hjælp af itemgetter

Itemgetteren fra operatørmodulet returnerer et kaldbart objekt, der henter et element fra sin operand ved hjælp af operandens __getitem__ () metode. Denne metode mappes til dict.items() og typecastes derefter 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>))>

>

>

Produktion:

['a', 'b', 'c']>

Metode 6: Brug af Map og lambda

En anden tilgang til at få ordbogsnøglerne som en liste er at bruge map()-funktionen i kombination med en lambda-funktion.

Her er et eksempel på, hvordan dette kan gø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>

>

>

Produktion

[1, 2, 3]>

Denne tilgang bruger map()-funktionen til at anvende lambda-funktionen på hvert element i ordbogen, som returnerer nøglen fra hvert element. Det resulterende iteratorobjekt sendes derefter til funktionen list() for at oprette en liste over nøglerne.

Denne tilgang har en tidskompleksitet på O(n) og en hjælperumskompleksitet på O(n), hvor n er antallet af nøgler i ordbogen. Det er en kortfattet og effektiv måde at få ordbogsnøglerne på som en liste.