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 – кількість ключів у словнику. Це стислий і ефективний спосіб отримати ключі словника у вигляді списку.