logo

Python | Obțineți cheile de dicționar ca o listă

Având un dicționar, scrieți un program Python pentru a obține cheile dicționarului ca o listă.

Exemple:



 Input : {1:'a', 2:'b', 3:'c'} Output : [1, 2, 3] Input : {'A' : 'ant', 'B' : 'ball'} Output : ['A', 'B']>

Metoda 1: Obțineți cheile de dicționar ca o listă folosind dict.keys()

Funcția Python list() ia orice iterabil ca parametru și returnează o listă. În Python, iterabil este obiectul pe care îl puteți itera.

Python3








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

>

>

Ieșire

[1, 2, 3]>

Complexitatea de timp a programului este O(n), unde n este numărul de chei din dicționar.

Complexitatea spațială a programului este O(n), unde n este numărul de chei din dicționar. Acest lucru se datorează faptului că programul creează un nou obiect listă cu același număr de elemente ca și cheile din dicționar, ceea ce necesită memorie suplimentară.

decodare javascript base64

Metoda 2: Obțineți cheile de dicționar sub formă de listă folosind metoda For Loop și anexare

În această metodă, vom repeta fiecare tastă folosind funcția dict.keys(). și adăuga pe o listă nouă numită ca listă.

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>))>

>

>

Ieșire

[1, 2, 3]>

Complexitatea timpului: O(n)
Spațiu auxiliar: O(n)

Metoda 3: Cheile din dicționar pentru a lista folosind Lista de înțelegere

Aici, vom încerca să ne scurtăm codul folosind înțelegerea listei în Python.

Python3




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

>

>

Ieșire

[1, 2, 3]>

Complexitatea timpului: O(n), unde n este numărul de perechi cheie-valoare din dicționar.
Spațiu auxiliar: O(n), pentru a stoca cheile și valorile în dicționar.

Metoda 4: Dicționar chei de listare folosind Despachetarea cu *

Dezambalarea cu * funcționează cu orice obiect iterabil și, deoarece dicționarele își returnează cheile atunci când sunt iterate, puteți crea cu ușurință o listă utilizând-o într-un literal de listă.

Python3




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

>

>

Ieșire:

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

Complexitatea timpului: O(N)

Spațiu auxiliar: O(N)

Metoda 5: Dicționar Keys to List folosind itemgetter

Itemgetter-ul din modulul operator returnează un obiect apelabil care preia un element din operandul său folosind operandul __getitem__ () metoda. Această metodă este mapată la dict.items() și apoi tipcasted la listă.

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>))>

>

>

Ieșire:

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

Metoda 6: Folosind Map și lambda

O altă abordare pentru a obține cheile de dicționar sub formă de listă este utilizarea funcției map() în combinație cu o funcție lambda.

Iată un exemplu despre cum se poate face acest lucru:

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>

>

>

Ieșire

[1, 2, 3]>

Această abordare folosește funcția map() pentru a aplica funcția lambda fiecărui element din dicționar, care returnează cheia de la fiecare articol. Obiectul iterator rezultat este apoi trecut la funcția list() pentru a crea o listă de chei.

Această abordare are o complexitate de timp de O(n) și o complexitate spațială auxiliară de O(n), unde n este numărul de chei din dicționar. Este o modalitate concisă și eficientă de a obține cheile de dicționar sub formă de listă.