Маючи словник, напишіть програму 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 – кількість ключів у словнику. Це пояснюється тим, що програма створює новий об’єкт списку з такою ж кількістю елементів, як і ключі в словнику, що вимагає додаткової пам’яті.
10 по 100,00
Спосіб 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 – кількість ключів у словнику. Це стислий і ефективний спосіб отримати ключі словника у вигляді списку.