如何在Python中用列表中的键和空值初始化dict?

2024-03-29 07:43:05 发布

您现在位置: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}

Tags: 方法nonelenkeyszipdict
3条回答
dict.fromkeys(keys, None)

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}

相关问题 更多 >