Как инициализировать dict с ключами из списка и пустого значения в Python?

Я хотел бы добраться от этого:

keys = [1,2,3]

к этому:

{1: None, 2: None, 3: None}

Существует ли pythonic способ сделать его?

Это - ужасный способ сделать это:

>>> keys = [1,2,3]
>>> dict([(1,2)])
{1: 2}
>>> dict(zip(keys, [None]*len(keys)))
{1: None, 2: None, 3: None}
221
задан evtoh 22 July 2016 в 09:30
поделиться

4 ответа

dict.fromkeys([1, 2, 3, 4])

На самом деле это метод класса, поэтому он работает и для подклассов dict (например, collections.defaultdict). Необязательный второй аргумент определяет значение, которое будет использоваться для ключей (по умолчанию None.)

.
350
ответ дан 23 November 2019 в 04:02
поделиться

никто не позаботился дать решение для dict-компонентов?

>>> keys = [1,2,3,5,6,7]
>>> {key: None for key in keys}
{1: None, 2: None, 3: None, 5: None, 6: None, 7: None}
238
ответ дан 23 November 2019 в 04:02
поделиться
dict.fromkeys(keys, None)
55
ответ дан 23 November 2019 в 04:02
поделиться
d = {}
for i in keys:
    d[i] = None
7
ответ дан 23 November 2019 в 04:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: