Преобразование двух списков в словарь

Если у нас есть один список ключей и один список значений, объединить их в словарь можно буквально одной строкой. В этой статье разберём два способа: с использованием функций zip() и dict() и через словарное включение.

Что нужно знать

Перед изучением примера полезно понимать:

Пример 1. Функции zip и dict

index = [1, 2, 3]
languages = ['python', 'c', 'c++']

dictionary = dict(zip(index, languages))
print(dictionary)

Вывод

{1: 'python', 2: 'c', 3: 'c++'}

Здесь два списка — index и languages. Сначала их объединяет функция zip(), потом dict() превращает результат в словарь.

  • zip() принимает несколько итерируемых объектов и попарно собирает их элементы в кортежи.

  • dict() строит из этих пар словарь, где первый элемент пары становится ключом, а второй — значением.

Пример 2. Словарное включение

index = [1, 2, 3]
languages = ['python', 'c', 'c++']

dictionary = {k: v for k, v in zip(index, languages)}
print(dictionary)

Вывод

{1: 'python', 2: 'c', 3: 'c++'}

Логика та же, что и в первом примере, только вместо dict() используется словарное включение. Сначала zip() объединяет списки в пары, а затем фигурные скобки и форма k: v собирают из этих пар словарь.