Python 2.7+中有字典理解功能,但是它们不能完全按照你尝试的方式工作。就像列表理解一样,他们创建了一个新字典。你不能使用它们将键添加到现有字典中。另外,你必须指定键和值,但是当然可以根据需要指定虚拟值。
>>> d = {n: n**2 for n in range(5)}
>>> print d
{0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
如果要将它们全部设置为True:
>>> d = {n: True for n in range(5)}
>>> print d
{0: True, 1: True, 2: True, 3: True, 4: True}
你似乎想要的是一种在现有字典上一次设置多个键的方法。没有直接的捷径。你可以像已经显示的那样循环,也可以使用字典理解来创建具有新值的新字典,然后oldDict.update(newDict)将新值合并到旧字典中。