目录
字典:又叫哈希,散列
- 字典是映射类型,无序的,字典中的顺序无关紧要。而列表,元组,字符串是序列类型。
- 标志符号:大括号{}
- 字典由多个键和对应值组成,键是唯一的,而值可以不唯一,每个键值组合称为项
- 字典的键必须是可哈希对象,即不可变对象(字符串,整数,不包含可变对象的元组,不可变集合),不能是可变对象(变量,列表,字典本身)。因为字典根据键,通过散列函数来计算值的存储位置,如果键可变,则每次根据同一个key计算出的地址不同,字典内部就会混乱。这又叫哈希算法。散列表时间复杂度为O(1)
- 在字典中,对不存在的key访问赋值会自动创建对应的key并添加相应的值value进去。而在序列中,为不存在的位置进行赋值会报错。
- 字典用空间换时间,查找和插入速度快,不会随着key增加而变慢,但需要占用大量内存。列表占用内存少,查找和插入的时间随着元素的增加而增加。
- 访问字典只要知道键名,不需要知道位置
创建字典:
1.创建空字典:
2.键值通过冒号组合,{键:值},‘小古’,‘大黄’,1为键(key),后面的为值(value)
3.dict()以元组的形式创建字典时,它里面只有一个变量 dict(mapping),所以我们将各个元组以一个括号括起来作为一个变量
4.dict()以关键字参数创