1. 什么是字典?
- 在python中的关键字是dict
- 字典是无序的(python3.6以上版本默认了用户定义顺序,在3.5一下是随机显示)
- 字典是可变的
- 字典的键必须是可哈希的(不可变),字典中的值是任意的
- 字典是通过键:值对的方式存储的,可以存储大量数据,查找方便迅速。
- 有明确的对应关系时,推荐使用字典 json
- 字典比较消耗内存
2.字典的增删改查
增加:
- dic["键"] = "值" 如果原来字典中存在要添加的键则将值替换掉,如果不存在则将键值对添加到字典中
- .setdefault("键",”值“) 如果字典中存在要添加的键那么值还是原来的没有变化,如果不存在则将键值对添加到字典中
删除:
- .pop("键") 指定键的内容删除键值对,有返回值返回的是删除键值对中的值
- del dic["键"] 指定键的内容删除键值对
- dic.clear() 将字典清空
修改:
- dic["键"] = "值" 直接通过键修改
- dic1.update(dic2) 将dic2中的元素添加或替换到dic1中,括号中的字典级别更高(键相同取dic2中的值)
查看:
- dic["键"] = "值" 直接通过键查看,键不存在会报错
- dic.get("键", "键不存在时显示的内容") 通过键查看,键不存在时不会报错
- .setdefault("键") 只放一个键就是查看
3. 字典的其他操作
for 循环字典得到的是键
for i in dic:
print(i)
dic.keys()
- 获取字典中所有的键
- 是一个高仿列表,可以迭代不可以索引
for for k in dic.keys:
print(k,dic[k])
dic.values()
- 获取字典中所有的值
- 是一个高仿列表,可以迭代不可以索引
dic.items()
- 获取字典的键值对
- 是一个高仿列表,可以迭代不可以索引
- 高仿列表中的元素是元组,可以通过解构获得键和值
- 代码中k, v = ("键": "值")是解构
for for k, v in dic.items:
print(k, v)
字典的枚举
- for k,v in enumerate(dic, "起始数值")
- 枚举的是字典的键
for k, v in enumerate(dic1, 100):
print(k, v)