Pythona | Uzyskaj klucze słownika w postaci listy

Mając słownik, napisz program w języku Python, aby uzyskać klucze słownika w postaci listy.

Przykłady:

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

Metoda 1: Uzyskaj klucze słownika jako listę za pomocą dict.keys()

Funkcja list() w Pythonie przyjmuje dowolny iterowalny parametr jako parametr i zwraca listę. W Pythonie iterowalny to obiekt, po którym można iterować.

Python3




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

Wyjście

[1, 2, 3] 

Złożoność czasowa programu wynosi O(n), gdzie n jest liczbą kluczy w słowniku.

Złożoność przestrzenna programu wynosi O(n), gdzie n jest liczbą kluczy w słowniku. Dzieje się tak dlatego, że program tworzy nowy obiekt listy z taką samą liczbą elementów, jak klucze w słowniku, co wymaga dodatkowej pamięci.

Metoda 2: Uzyskaj klucze słownika jako listę za pomocą pętli For Loop i metody dołączania

W tej metodzie będziemy iterować po każdym klawiszu za pomocą Funkcja dict.keys(). I dodać je do nowej listy o nazwie 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> ))>

Wyjście

[1, 2, 3] 

Złożoność czasowa: O(n)
Przestrzeń pomocnicza: O(n)

Metoda 3: Klucze słownikowe do listy przy użyciu rozumienia listy

Tutaj postaramy się skrócić nasz kod, korzystając ze zrozumienia list w Pythonie.

Python3




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

Wyjście

[1, 2, 3] 

Złożoność czasowa: O(n), gdzie n to liczba par klucz-wartość w słowniku.
Przestrzeń pomocnicza: O(n), do przechowywania kluczy i wartości w słowniku.

Metoda 4: Klucze słownika do wylistowania przy użyciu rozpakowywania *

Rozpakowywanie za pomocą * działa z każdym iterowalnym obiektem, a ponieważ słowniki zwracają swoje klucze podczas iteracji, możesz łatwo utworzyć listę, używając jej w literale listy.

Python3




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

Wyjście:

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

Złożoność czasowa: O(N)

Przestrzeń pomocnicza: O(N)

Metoda 5: Klucze słownikowe do wylistowania za pomocą itemgettera

Element pobierający elementy z modułu operatora zwraca wywoływalny obiekt, który pobiera element ze swojego operandu za pomocą operandu __Zdobądź przedmiot__ () metoda. Ta metoda jest mapowana na dict.items(), a następnie rzutowana na 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> ))>

Wyjście:

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

Metoda 6: Korzystanie z mapy i lambdy

Innym sposobem uzyskania kluczy słownika w postaci listy jest użycie funkcji map() w połączeniu z funkcją lambda.

Oto przykład, jak można to zrobić:

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>

Wyjście

[1, 2, 3] 

W tym podejściu funkcja map() umożliwia zastosowanie funkcji lambda do każdego elementu słownika, która zwraca klucz z każdego elementu. Wynikowy obiekt iteratora jest następnie przekazywany do funkcji list() w celu utworzenia listy kluczy.

Podejście to ma złożoność czasową O(n) i złożoność przestrzeni pomocniczej O(n), gdzie n jest liczbą kluczy w słowniku. Jest to zwięzły i skuteczny sposób uzyskania kluczy słownika w postaci listy.