day4
字典
一、含义
“键值对”无序可变序列。字典中的每个元素都是一个键值对,包含“键对象”和“值对象”。可以通过“键对象”实现快速获取、删除“值对象”
二、 创建
1. {}直接创建
2.dict()
3.zip()
4.fromkeys
三、元素访问
1. 通过键[]获得值
2.get[]获取–推荐
3.列出所有的键值对
4.len()键值对个数
5.列出所有的键,所有的值
四、字典元素添加
1. 直接加
给字典新增“键值对”,如果“键”已经存在,则覆盖旧的键值对;如果“键”不存在,则新增“键值对”
2.update()
将新字典中所有键值对全部添加到旧字典对象上,如果key有重复,则直接覆盖。
五、字典元素的删除
1.del()
2.clear()
3.pop()
4.popitem()
六、字典核心底层原理
用法总结
1.键必须是可散列的
(1)数字、字符串、元组都是可散列的
(2)自定义对象需要支持下面三点:
- 支持hash()函数
- 支持通过_eq_()方法检测相等性
- 若a=b为真,则hash(a)==hash(b)也为真
2.字典在内存中开销巨大,典型的空间换时间
3.键查询速度快
4.往字典里面添加新建可能导致扩容,导致散列表中键的次序变化。因此,不要在遍历字典的同时进行字典修改。