目录
1.字典是什么
- 字典是一种存储 键值对 的结构
2.创建字典
①创建一个空的字典. 使用 { } 表示字典.
②在创建的同时指定初始值
- 键值对之间使用 , 分割, 键和值之间使用 : 分割. (冒号后面推荐加一个空格).
- 每一个键值对的 key,value类型不一定要一样
③补充
- 为了代码更规范美观, 在创建字典的时候往往会把多个键值对, 分成多行来书写
- 最后一个键值对, 后面可以写 , 也可以不写
3.查找key
①使用 in 可以判定 key 是否在 字典 中存在. 返回布尔值.
②使用 [ ] 通过类似于取下标的方式, 获取到元素的值. 只不过此处的 "下标" 是 key. (可能是整数, 也
可能是字符串等其他类型).
- 如果 key 在字典中不存在, 则会抛出异常.
- 通过key获取value
4.新增/修改元素
- 使用 [ ] 可以根据 key 来新增/修改 value
- 如果 key 不存在, 对取下标操作赋值, 即为新增键值对
- 如果 key 已经存在, 对取下标操作赋值, 即为修改键值对的值
5.删除元素
- 使用 pop 方法根据 key 删除对应的键值对.
6.遍历字典元素
①直接使用 for 循环能够获取到字典中的所有的 key, 进一步的就可以取出每个值了.
②获取key ,value ,键值对
- 使用 keys 方法可以获取到字典中的所有的 key
- 使用 values 方法可以获取到字典中的所有 value
- 使用 items 方法可以获取到字典中所有的键值对.
-
此处 dict_keys 是一个特殊的类型, 专门用来表示字典的所有 key. 大部分元组支持的操作对于dict_keys 同样适用. (dict_values , dict_items类似)
7.合法key类型
- 不是所有的类型都可以作为字典的 key.
- 字典本质上是一个 哈希表, 哈希表的 key 要求是 "可哈希的", 也就是可以计算出一个哈希值.
- 可以使用 hash 函数计算某个对象的哈希值.
- 但凡能够计算出哈希值的类型, 都可以作为字典的 key.
①普通类型
②列表和字典无法计算哈希值