logo

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

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