logo

Перетворення списку на словник Python

Маючи список, напишіть програму Python для перетворення даного списку в словник таким чином, щоб усі непарні елементи мали ключ, а парні числові елементи мали значення. Оскільки Python словник є невпорядкованим, вихід може бути в будь-якому порядку.

приклад



  Input :    ['a', 1, 'b', 2, 'c', 3]   Output:   {'a': 1, 'b': 2, 'c': 3}   Explaination  : In the input we have a list of element which then is conerted into key value pairs of dictonary in the output>

Перетворення списку на словник Python

Нижче наведено методи, які ми розглянемо в цій статті.

Перетворення списку на словник за допомогою циклу

Цей метод працює шляхом ініціалізації пустого словник а потім перебираючи список на кроці 2. У кожній ітерації пара ключ-значення додається до словника, використовуючи поточний елемент як ключ і наступний елемент як значення. Нарешті словник повертається як результат.

Python3








def> convert(lst):> >res_dict>=> {}> >for> i>in> range>(>0>,>len>(lst),>2>):> >res_dict[lst[i]]>=> lst[i>+> 1>]> >return> res_dict> lst>=> [>'a'>,>1>,>'b'>,>2>,>'c'>,>3>]> print>(convert(lst))>

>

>

Вихід

{'a': 1, 'b': 2, 'c': 3}>

Часова складність: O(n), де n - довжина вхідного списку.
Допоміжні приміщення: O(n), де n - довжина вхідного списку.

Список розмов у словнику використання dict Comprehension

Щоб перетворити список на словник, ми можемо використовувати розуміння дикту і створити пару ключ:значення з послідовних елементів. Нарешті, введіть регістр списку в дикт типу.

Python3


отримати довжину масиву в c



який розмір екрана мого монітора

def> Convert(lst):> >res_dct>=> {lst[i]: lst[i>+> 1>]>for> i>in> range>(>0>,>len>(lst),>2>)}> >return> res_dct> > # Driver code> lst>=> [>'a'>,>1>,>'b'>,>2>,>'c'>,>3>]> print>(Convert(lst))>

>

>

Вихід

{'a': 1, 'b': 2, 'c': 3}>

Часова складність: O(n), де n - довжина вхідного списку.
Допоміжні приміщення: O(n), де n - довжина вхідного списку.

Перетворення списку на словник в співати zip() метод

Спочатку створіть ітератор та ініціалізуйте його змінною «it». Потім використовуйте zip метод , щоб стиснути ключі та значення разом. Нарешті наберіть його дикт типу.

Python3




def> Convert(a):> >it>=> iter>(a)> >res_dct>=> dict>(>zip>(it, it))> >return> res_dct> # Driver code> lst>=> [>'a'>,>1>,>'b'>,>2>,>'c'>,>3>]> print>(Convert(lst))>

>

>

Вихід

{'a': 1, 'b': 2, 'c': 3}>

Часова складність: O(n), де n - довжина вхідного списку a.
Допоміжні приміщення: O(n), де n - довжина вхідного списку a.

Список розмов у словнику за допомогою функції лямбда

Спочатку створіть масив ключів і значень за допомогою нарізки масиву. Потім використовуйте метод карти з лямбда для формування масиву кортежу зі значенням ключа paris. Нарешті приведіть його до типу dict.

Python




def> Convert(lst):> >res_dct>=> map>(>lambda> i: (lst[i], lst[i>+>1>]),>range>(>len>(lst)>->1>)[::>2>])> >return> dict>(res_dct)> # Driver code> lst>=> [>'a'>,>1>,>'b'>,>2>,>'c'>,>3>]> print>(Convert(lst))>

>

>

Вихід

{'a': 1, 'c': 3, 'b': 2}>

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

Мадхурі сказав

Перетворення списку на словник за допомогою List Comprehension і Slicing

Скибочка список введення, щоб отримати список ключів за допомогою lst[::2]. Це займе кожен другий елемент, починаючи з першого елемента списку. Розріжте вхідний список, щоб отримати список значень за допомогою lst[1::2]. Це займе кожен другий елемент, починаючи з другого елемента списку. Створіть словник за допомогою a розуміння словника який перебирає індекси списку ключів і поєднує кожен ключ із відповідним значенням зі списку значень.

Повернути отриманий словник.

Python3




def> convert(lst):> >keys>=> lst[::>2>]># slice the list to get keys> >values>=> lst[>1>::>2>]># slice the list to get values> >res_dict>=> {keys[i]: values[i]>for> i>in> range>(>len>(keys))}> >return> res_dict> lst>=> [>'a'>,>1>,>'b'>,>2>,>'c'>,>3>]> print>(convert(lst))># {'a': 1, 'b': 2, 'c': 3}>

>

>

Вихід

{'a': 1, 'b': 2, 'c': 3}>

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

оператор java

Перетворіть список на словник за допомогою Itertools

Імпортуйте itertools модуль .Використовувати zip_longest() функція для створення списку кортежів із вихідного списку. Ця функція згрупує елементи в пари, навіть якщо довжина списку непарна. Використовуйте розуміння словника, щоб створити словник зі списку кортежів. Поверніть словник.

Нижче наведено реалізацію вищезазначеного підходу:

Python3




import> itertools> def> convert(lst):> >pairs>=> itertools.zip_longest(>*>[>iter>(lst)]>*> 2>, fillvalue>=>None>)> >dct>=> {key: value>for> key, value>in> pairs}> >return> dct> lst>=> [>'a'>,>1>,>'b'>,>2>,>'c'>,>3>]> print>(convert(lst))>

>

>

Вихід

{'a': 1, 'b': 2, 'c': 3}>

Часова складність: O(n)
Допоміжні приміщення: O(n) (для зберігання списку кортежів)