经常会遇到这种情况,字典中的每个键需要对应的不仅仅是一个值,而是多个值。这种时候就需要将这些值封装到另一个数据结构中,比如列表或另一个字典。数据结构可能是这样的:
1 | sample_dict = { |
这种稍复杂的数据结构如果手动处理必定比较麻烦。这时可以使用 collections 模块中的 defaultdict 来封装这种复杂的字典。 defaultdict 一个显著的特点,就是它会自动初始化每个键开始时对应的值,这样便可以很方便的添加元素了。
1 | from collections import defaultdict |
需要注意的是, defaultdict会将每个键对应的值初始化为一个默认的空数据结构,如果不需要这样的特性,可以使用字典的 setdefault() 方法来替代。
1 | sample = {} |