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.
gra gołąb na Androida
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.