logo

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.

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.