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

Перетворити список на словник у Python не так вже й складно.

Давайте перевіримо різні способи перетворення списку на словник.

вступ

Перш ніж перейти до підручника, давайте подивимося приклад перетворення списку на словник. У нас буде список кортежів (кожен кортеж складається з двох елементів) або просто список елементів. Ми візьмемо обидва введення та перетворимо їх на словники.

приклади:

У наступному прикладі ми взяли список кортежів і перетворили його на словник. Ми взяли перший елемент кожного кортежу як ключ, а другий елемент як значення для словника.

Вхід: list_one = [(‘a’, ‘A’), (‘b’, ‘B’), (‘c’, ‘C’)]

Вихід: {‘a’: ‘A’, ‘b’: ‘B’, ‘c’: ‘C’}

У наступному прикладі ми взяли список елементів і перетворили його на словник з альтернативними елементами як ключ і значення. Ми дамо ключу null, якщо для нього не залишилося жодного елемента як ключа (якщо список містить непарну кількість елементів).

  Як оптимізувати свій веб-сайт для мобільних користувачів?

Вхід: list_one = [‘a’, ‘A’, ‘b’, ‘B’, ‘c’, ‘C’, ‘d’]

Вихід: {‘a’: ‘A’, ‘b’: ‘B’, ‘c’: ‘C’, ‘d’: Немає}

Ми побачили мету підручника. І ми обговоримо обидва приклади різними способами. Почнемо з першого прикладу.

Список кортежів – словник

Давайте подивимося, як перетворити список кортежів на словник. Ви можете спробувати написати код за допомогою наступних кроків.

  • Ініціалізуйте список кортежів фіктивними даними, як наведено в прикладах вище (переконайтеся, що кожен кортеж у списку містить рівно два елементи).
  • Передайте список кортежів у метод dict, і він збереже результат у новій змінній.
  • Ось і все, ми перетворили список кортежів у словник з одним рядком коду.
# list of tuples
list_of_tuples = [('a', 'A'), ('b', 'B'), ('c', 'C')]

# converting to dictionary
list_of_tuples_dict = dict(list_of_tuples)

# printing the result dict
print(list_of_tuples_dict)

Ви можете перевірити наведені вище результати програми, виконавши її. Ви отримаєте результат, який ми бачимо в прикладах.

  Хто такий Джек Дорсі?

Список – Словник

Ми бачили, як перетворити список кортежів у словник, і це просто в Python. У цьому розділі ми побачимо, як перетворити звичайний список на словник.

Перегляньте другий приклад із першого розділу підручника, щоб отримати більше ясності.

Виконайте наведені нижче дії, щоб написати код для другого прикладу.

Ми заповнили значення за замовчуванням як None для елемента, який не матиме жодного значення (список, що містить непарну кількість елементів). Для цього нам потрібно використати метод під назвою zip_longest з модуля itertools.

  • Імпортуйте модуль itertools та ініціалізуйте список із непарною кількістю елементів, наведених у прикладах.
  • Перетворіть список на ітерований, щоб уникнути повторення пар ключів і значень у методі zip_longest.
  • Тепер передайте iterable методу zip_longest і fillvalue як None. Він поверне об’єкт zip.
    • Ми повинні передати iterable два рази, оскільки він приймає ключ і значення з двох iterables. У нашому випадку і ключі, і значення знаходяться в одному ітеративному модулі. Отже, нам потрібно передати його двічі перед fillvalue.
  • Перетворіть об’єкт у словник Python за допомогою методу dict.
  • Роздрукуйте результат.
# importing the module
import itertools

# plain list with odd number of elements
plain_list = ['a', 'A', 'b', 'B', 'c', 'C', 'd']

# converting it to iterable to avoid repetition
plain_list_iter = iter(plain_list)

# converting the plain_list to dict
plain_list_dict_object = itertools.zip_longest(plain_list_iter, plain_list_iter, fillvalue=None)

# convert the zip_longest object to dict using `dict`
plain_list_dict = dict(plain_list_dict_object)

# print it
print(plain_list_dict)

Ви можете вказати значення заповнення, що завгодно. Спробуйте з ним різні речі. І виконайте код, щоб побачити, чи отримуємо ми точні результати, як зазначено в прикладі, чи ні.

  Як додати посилання в Canva

Висновок

Сподіваюся, вам сподобалося перетворити список на словник. Давайте зустрінемося в наступному уроці.

Далі дізнайтеся, як зводити список у Python.

Щасливого кодування 🙂

Вам сподобалось читати статтю? Як щодо того, щоб поділитися зі світом?