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.