Dato un dizionario, scrivi un programma Python per ottenere le chiavi del dizionario sotto forma di elenco.
Esempi:
Input : {1:'a', 2:'b', 3:'c'} Output : [1, 2, 3] Input : {'A' : 'ant', 'B' : 'ball'} Output : ['A', 'B']> Metodo 1: Ottieni le chiavi del dizionario come elenco usando dict.keys()
La funzione Python list() accetta qualsiasi iterabile come parametro e restituisce una lista. In Python, iterable è l'oggetto su cui puoi eseguire l'iterazione.
Python3
mydict>=> {>1>:>'Geeks'>,>2>:>'for'>,>3>:>'geeks'>}> keysList>=> list>(mydict.keys())> print>(keysList)> |
>
>Produzione
[1, 2, 3]>
La complessità temporale del programma è O(n), dove n è il numero di chiavi del dizionario.
La complessità spaziale del programma è O(n), dove n è il numero di chiavi del dizionario. Questo perché il programma crea un nuovo oggetto elenco con lo stesso numero di elementi delle chiavi del dizionario, il che richiede memoria aggiuntiva.
modelli di software Java
Metodo 2: Ottieni le chiavi del dizionario come elenco utilizzando For Loop e aggiungi il metodo
In questo metodo, eseguiremo l'iterazione su ciascuna chiave utilizzando il metodo funzione dict.keys() E aggiungere inserirli in un nuovo elenco denominato elenco.
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>))> |
>
>Produzione
[1, 2, 3]>
Complessità temporale: O(n)
Spazio ausiliario: O(n)
Metodo 3: Chiavi del dizionario per l'elenco utilizzando la comprensione dell'elenco
Qui proveremo ad abbreviare il nostro codice utilizzando la comprensione delle liste in Python.
Python3
dict> => {>1>:>'Geeks'>,>2>:>'for'>,>3>:>'geeks'>}> keysList>=> [key>for> key>in> dict>]> print>(keysList)> |
>
>Produzione
[1, 2, 3]>
Complessità temporale: O(n), dove n è il numero di coppie chiave-valore nel dizionario.
Spazio ausiliario: O(n), per memorizzare chiavi e valori nel dizionario.
Metodo 4: Chiavi del dizionario da elencare utilizzando il decompressione con *
L'estrazione con * funziona con qualsiasi oggetto iterabile e poiché i dizionari restituiscono le loro chiavi durante l'iterazione, puoi facilmente creare un elenco utilizzandolo all'interno di un elenco letterale.
Python3
def> getList(>dict>):> >return> [>*>dict>]> # Driver program> dict> => {>'a'>:>'Geeks'>,>'b'>:>'For'>,>'c'>:>'geeks'>}> print>(getList(>dict>))> |
>
>
Produzione:
['a', 'b', 'c']>
Complessità temporale: O(N)
Spazio ausiliario: O(N)
Metodo 5: Chiavi del dizionario per l'elenco utilizzando itemgetter
L'itemgetter del modulo operatore restituisce un oggetto richiamabile che recupera un elemento dal suo operando utilizzando il comando dell'operando __getoggetto__ () metodo. Questo metodo è mappato su dict.items() e quindi convertito in 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>))> |
>
>
Produzione:
['a', 'b', 'c']>
Metodo 6: utilizzo di Map e lambda
Un altro approccio per ottenere le chiavi del dizionario sotto forma di elenco consiste nell'utilizzare la funzione map() in combinazione con una funzione lambda.
Ecco un esempio di come è possibile farlo:
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> |
>
>Produzione
[1, 2, 3]>
Questo approccio utilizza la funzione map() per applicare la funzione lambda a ciascun elemento del dizionario, che restituisce la chiave di ciascun elemento. L'oggetto iteratore risultante viene quindi passato alla funzione list() per creare un elenco di chiavi.
Questo approccio ha una complessità temporale di O(n) e una complessità spaziale ausiliaria di O(n), dove n è il numero di chiavi nel dizionario. È un modo conciso ed efficiente per ottenere le chiavi del dizionario sotto forma di elenco.