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

Есть два списка, в одном из них хранится ключ будущего словаря, а в другом значение. Пример:

ls_keys = ['V1', 'V2', 'V3', 'V4']
ls_values = ['value1', 'value2', 'value3', 'value4']

Надо преобразовать эти списки в один словарь, чтобы это выглядело так:

res_d = {
    'V1': 'value1',
    'V2': 'value2',
    'V3': 'value3',
    'V4': 'value4',
}

Как это сделать, помогите пожалуйста.


Ответы (2 шт):

Автор решения: Vladislav
ls_keys = ['V1', 'V2', 'V3', 'V4']
ls_values = ['value1', 'value2', 'value3', 'value4']

# Объединяем списки в список кортежей
zipped_ls = zip(ls_keys, ls_values)

# Создаем словарь
res_d = dict(zipped_ls)

print(res_d)
# Выведет:
# {'V1': 'value1', 'V2': 'value2', 'V3': 'value3', 'V4': 'value4'}
→ Ссылка
Автор решения: VanoKi

Еще можно так, не используя zip:

  1. Используя генератор словарей:
    d = {i:j for i in ls_keys for j in ls_values}  
    print(d)

  1. "традиционные" циклы, если генератор по каким либо причинам не нравится/не подходит:
    d1 = {}  
    for i in ls_keys:  
        for j in ls_values:  
            d1[i] = j  
    print(d1)
→ Ссылка