如何在python3.6中将键和值列表初始化为空集的字典?

dhr*_*shp 1 python python-3.x

我试过用dict.fromkeys([1,2,3],set()).这个初始化创建了字典,但是当我向任何一个集合添加一个值时,所有集合都会更新!

>>> d=dict.fromkeys([1,2,3],set())
>>> d
>>> {1: set(), 2: set(), 3: set()}
>>> d[1].add('a')
>>> d
>>> {1: {'a'}, 2: {'a'}, 3: {'a'}}
Run Code Online (Sandbox Code Playgroud)

似乎字典的所有三个值都指的是同一个集合.我想将字典的所有值初始化为空集,以便我可以稍后根据键在循环中对这些集执行某些操作.

Ign*_*ams 7

使用字典理解

d = {x: set() for x in [1, 2, 3]}
Run Code Online (Sandbox Code Playgroud)

或者使用collections.defaultdict