Python | Отримайте ключі словника у вигляді списку

Маючи словник, напишіть програму Python, щоб отримати ключі словника у вигляді списку.

приклади:

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

Спосіб 1: Отримайте ключі словника у вигляді списку за допомогою dict.keys()

Функція Python list() приймає будь-який ітерований параметр як параметр і повертає список. У Python ітерований — це об’єкт, який можна повторювати.

Python3




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

Вихід

[1, 2, 3] 

Часова складність програми дорівнює O(n), де n – кількість ключів у словнику.

Просторова складність програми дорівнює O(n), де n – кількість ключів у словнику. Це пояснюється тим, що програма створює новий об’єкт списку з такою ж кількістю елементів, як і ключі в словнику, що вимагає додаткової пам’яті.

Спосіб 2: Отримайте ключі словника у вигляді списку за допомогою циклу For і методу додавання

У цьому методі ми будемо повторювати кожен ключ, використовуючи функція dict.keys(). і додавати їх до нового списку, названого як список.

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

Вихід

[1, 2, 3] 

Часова складність: O(n)
Допоміжний простір: O(n)

Спосіб 3: Словникові ключі до списку за допомогою розуміння списку

Тут ми спробуємо скоротити наш код за допомогою розуміння списку в Python.

Python3




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

Вихід

[1, 2, 3] 

Часова складність: O(n), де n – кількість пар ключ-значення в словнику.
Допоміжний простір: O(n), для зберігання ключів і значень у словнику.

Спосіб 4: Словникові ключі для списку за допомогою Unpacking with *

Розпакування за допомогою * працює з будь-яким ітерованим об’єктом, і оскільки словники повертають свої ключі під час ітерації, ви можете легко створити список, використовуючи його в літералі списку.

Python3




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

Вихід:

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

Часова складність: O(N)

Допоміжний простір: O(N)

Спосіб 5: Ключі словника для списку за допомогою itemgetter

Itemgetter з модуля оператора повертає викликаний об’єкт, який отримує елемент із свого операнда за допомогою операнда __getitem__ () метод. Цей метод відображається на dict.items(), а потім приводиться до списку.

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

Вихід:

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

Спосіб 6: Використання Map і лямбда

Інший підхід до отримання ключів словника у вигляді списку полягає у використанні функції map() у поєднанні з лямбда-функцією.

Ось приклад того, як це можна зробити:

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>

Вихід

[1, 2, 3] 

Цей підхід використовує функцію map() для застосування лямбда-функції до кожного елемента в словнику, яка повертає ключ від кожного елемента. Отриманий об’єкт ітератора потім передається до функції list() для створення списку ключів.

Цей підхід має часову складність O(n) і складність допоміжного простору O(n), де n – кількість ключів у словнику. Це стислий і ефективний спосіб отримати ключі словника у вигляді списку.