这里介绍Python数据容器的Dict字典

创建字典
定义:使用花括号{}定义字典,用:冒号定义键值对,用逗号分隔键值对
1 | # 使用花括号{}定义字典,用:冒号定义键值对,用逗号分隔键值对 |

字典基本操作
1 | print("--------------- 字典基本操作 ---------------") |

其他方法
setdefault方法
setdefault(key, default_value) 方法:
- 如果字典中包含有给定key,则返回字典中该key对应的值;
- 如果字典中不包含给定key,则会向字典中添加key并将值设为default_value,同时返回default_value
1 | word_index = {"is":[42,23,17], "are":[31,83], "where":[2]} |
字典视图
1 | person = {"first_name": "Aaron", "last_name": "Zhu", "age":18} |

其他字典
默认字典defaultdict
对于collections模块的默认字典defaultdict而言,需要向构造方法提供 一个可调用的对象 作为默认值工厂,用于创造默认值。需要注意的是,默认值工厂只会在 getitem()方法 里被调用,在其他的方法里完全不会发挥作用
1 | import collections |
有序字典OrderedDict
普通字典是无序的。但对于collections模块的默认字典OrderedDict而言,其可以记住键值对添加的顺序。使得遍历字典键值对的顺序为添加的顺序
1 | import collections |
ChainMap
collections模块的ChainMap,可用于合并多个字典的视图。进行统一的操作,避免遍历多个字典。查询时,会按构造时传入字典的顺序依次进行查询,直到找到第一个时停止
1 | import collections |
参考文献
- Python编程·第3版:从入门到实践 Eric Matthes著
- Python基础教程·第3版 Magnus Lie Hetland著
- 流畅的Python·第1版 Luciano Ramalho著