字典实战——字典用法说明 | 第二部分 类型与操作 —— 第 8 章: 列表和字典 |《学习 python:强大的面向对象编程(第 5 版)》| python 技术论坛-380玩彩网官网入口
一旦学会了字典,它们是很简单的工具,但这里有一些额外的使用时应该注意的指南和提醒:
- 序列操作无效。字典是映射,而非序列;因为在它们的项目中没有排序的概念,像连接(排序的连接)和切片(提取一个连续区间)完全不适用。事实上,当代码运行时如果尝试做这些事情,python会抛出错误。
- “分配新索引”添加条目。当编写字典字面量(嵌入到字面量代码本身之中)或当一个个单独分配值给现存字典对象的新键时,键被创建。最终结果是一样的。
- 键不需要总是字符串。目前我们的例子已经使用字符串作为键,但任何其它的可变的对象也是一样的。比如,可以使用整数作为键,它让字典看起来很像列表(至少当索引时)。元组也可以作为字典键(允许复合的键值——比如日期和ip地址——有对应的值)。用户自定义类实例对象(在第6部分讨论)也可以作为键,只要它们有合适的协议方法;大致地,它们需要告诉python:它们的值是“可哈希*的且因此不会改变,否则(不作为固定键)它们将没有用处。可变的对象如列表,sets还有其它字典不能作为键,但可以作为值。