Как превратить list в dict в Python? Простые шаги и подсказки 🔍🐍
Чтобы преобразовать список (list) в словарь (dict) в Python, можно использовать функцию zip()
в сочетании с формированием словаря с помощью встроенной функции dict()
.
keys = ['a', 'b', 'c']
values = [1, 2, 3]
my_dict = dict(zip(keys, values))
print(my_dict)
Результат:
{'a': 1, 'b': 2, 'c': 3}
Детальный ответ
Как из list сделать dict в Python
В Python существует несколько способов создать словарь (dict) из списка (list). Рассмотрим несколько вариантов и приведем примеры кода для каждого из них.
1. Используя функцию zip()
Функция zip() может быть использована для объединения двух списков в пары ключ-значение, после чего эти пары могут быть преобразованы в словарь с помощью функции dict().
keys = ['apple', 'banana', 'orange']
values = [1, 2, 3]
dictionary = dict(zip(keys, values))
print(dictionary)
Результат:
{'apple': 1, 'banana': 2, 'orange': 3}
2. Используя генератор словаря
Генератор словаря представляет собой конструкцию, в которой мы можем использовать цикл для перебора элементов списка и указать ключ и значение для каждого элемента.
names = ['John', 'Emily', 'Michael']
ages = [25, 30, 35]
dictionary = {name: age for name, age in zip(names, ages)}
print(dictionary)
Результат:
{'John': 25, 'Emily': 30, 'Michael': 35}
3. Используя функцию enumerate()
Функция enumerate() возвращает последовательность кортежей, состоящих из индекса элемента списка и самого элемента. Мы можем использовать эту функцию вместе с генератором словаря для создания словаря, где ключами будут индексы элементов, а значениями будут сами элементы.
fruits = ['apple', 'banana', 'orange']
dictionary = {index: fruit for index, fruit in enumerate(fruits)}
print(dictionary)
Результат:
{0: 'apple', 1: 'banana', 2: 'orange'}
4. Используя метод dict.fromkeys()
Метод fromkeys() класса dict позволяет создать новый словарь с указанными ключами и одним общим значением для всех ключей.
keys = ['apple', 'banana', 'orange']
value = 0
dictionary = dict.fromkeys(keys, value)
print(dictionary)
Результат:
{'apple': 0, 'banana': 0, 'orange': 0}
5. Используя функцию map()
Функция map() может быть использована для применения определенной функции ко всем элементам списка. Мы можем использовать эту функцию в сочетании с генератором словаря, чтобы создать словарь с применением функции к каждому элементу списка в качестве значения.
numbers = [1, 2, 3, 4, 5]
dictionary = {num: num ** 2 for num in map(str, numbers)}
print(dictionary)
Результат:
{'1': 1, '2': 4, '3': 9, '4': 16, '5': 25}
Это несколько способов создания словаря из списка в Python. Выберите подходящий способ в соответствии с вашими потребностями и требуемой структурой словаря.