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



Я хотел бы получить от этого:



keys = [1,2,3]


для этого:



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


есть ли подходящие для Python способ сделать это?



это уродливый способ сделать это:



>>> keys = [1,2,3]
>>> dict([(1,2)])
{1: 2}
>>> dict(zip(keys, [None]*len(keys)))
{1: None, 2: None, 3: None}
530   5  

5 ответов:

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

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

никто не хотел дать решение для понимания диктанта ?

>>> 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}
dict.fromkeys(keys, None)
>>> keyDict = {"a","b","c","d"}

>>> dict([(key, []) for key in keyDict])

выход:

{'a': [], 'c': [], 'b': [], 'd': []}
d = {}
for i in keys:
    d[i] = None

Comments

    Ничего не найдено.