logo

Python | Krijg woordenboeksleutels als een lijst

Schrijf, gegeven een woordenboek, een Python-programma om de woordenboeksleutels als een lijst te krijgen.

Voorbeelden:



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

Methode 1: Haal woordenboeksleutels op als een lijst met dict.keys()

De Python list()-functie neemt elke iterabele parameter als parameter en retourneert een lijst. In Python is itereerbaar het object waarover u kunt herhalen.

Python3








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

>

>

Uitvoer

[1, 2, 3]>

De tijdscomplexiteit van het programma is O(n), waarbij n het aantal sleutels in het woordenboek is.

De ruimtecomplexiteit van het programma is O(n), waarbij n het aantal sleutels in het woordenboek is. Dit komt omdat het programma een nieuw lijstobject aanmaakt met hetzelfde aantal elementen als de sleutels in het woordenboek, wat extra geheugen vereist.

tekenreeks formaat

Methode 2: Haal woordenboeksleutels op als een lijst met de For Loop- en toevoegmethode

Bij deze methode herhalen we elke sleutel met behulp van de dict.keys()-functie En toevoegen ze naar een nieuwe lijst met de naam lijst.

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

>

>

Uitvoer

[1, 2, 3]>

Tijdcomplexiteit: O(n)
Hulpruimte: O(n)

Methode 3: Woordenboeksleutels voor lijst met behulp van lijstbegrip

Hier zullen we proberen onze code in te korten met behulp van lijstbegrip in Python.

Python3




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

>

>

Uitvoer

[1, 2, 3]>

Tijdcomplexiteit: O(n), waarbij n het aantal sleutelwaardeparen in het woordenboek is.
Hulpruimte: O(n), om de sleutels en waarden in het woordenboek op te slaan.

Methode 4: Woordenboeksleutels voor lijst met Uitpakken met *

Uitpakken met * werkt met elk itereerbaar object, en aangezien woordenboeken hun sleutels teruggeven wanneer ze worden herhaald, kun je eenvoudig een lijst maken door deze binnen een letterlijke lijst te gebruiken.

Python3




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

>

>

Uitgang:

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

Tijdcomplexiteit: O(N)

Hulpruimte: O (N)

Methode 5: Woordenboeksleutels voor lijst met itemgetter

De itemgetter van de operatormodule retourneert een opvraagbaar object dat een item ophaalt van zijn operand met behulp van de __getitem__ () methode. Deze methode wordt toegewezen aan dict.items() en vervolgens getypeerd naar 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>))>

>

>

Uitgang:

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

Methode 6: Kaart en lambda gebruiken

Een andere benadering om de woordenboeksleutels als een lijst te krijgen, is door de functie map() te gebruiken in combinatie met een lambda-functie.

Hier is een voorbeeld van hoe dit kan worden gedaan:

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>

>

>

Uitvoer

[1, 2, 3]>

Deze aanpak gebruikt de functie map() om de lambda-functie toe te passen op elk item in het woordenboek, dat de sleutel van elk item retourneert. Het resulterende iteratorobject wordt vervolgens doorgegeven aan de functie list() om een ​​lijst met sleutels te maken.

Deze benadering heeft een tijdcomplexiteit van O(n) en een hulpruimtecomplexiteit van O(n), waarbij n het aantal sleutels in het woordenboek is. Het is een beknopte en efficiënte manier om de woordenboeksleutels als een lijst te krijgen.