В Python: создать словарь из списка ключей, но установить все значения в 0? - PullRequest
1 голос
/ 05 марта 2020

Я нашел элегантные решения для создания словарей из двух списков:

keys = [a, b, c]
values = [1, 2, 3]
list_dict = {k:v for k,v in zip(keys, values)}

Но я не смог написать что-то для списка ключей с одним значением (0) для каждого ключа , Я пытался сделать что-то вроде:

list_dict = {k:v for k,v in (zip(keys,[0 for i in range(keys)]))}

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

dict_totals = {k:v for k,v in zip(keys,range(0,3))}

Я надеюсь на вывод, который выглядит как {a: 0, b: 0, c: 0}. Я что-то упускаю из виду?

1 Ответ

5 голосов
/ 05 марта 2020

Используя dict.fromkeys альтернативный инициализатор:

dict.fromkeys(keys, 0)

И предлагая вам более простой способ сделать первый:

dict(zip(keys, values))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...