1.为什么要使用字典
因为字典可以实现由key取出value的操作
字典也是用{},不过存储的元素是一个个的键值对
输出结果:
在字典中,如果有两个key重复了,则新的key会自动覆盖老的key
2.在字典中取值
字典[key]
3.字典的嵌套
4.字典的常规操作
1.新增元素
字典[key]=value,其中key不存在的话,则相当于自动创建了新的元素
2.更新元素
字典[key]=value,因为key不可重复,所以新的kval覆盖了老的value
3.删除元素
字典.pop(元素)
pop在列表中是根据下标索引删除指定元素
pop在集合中是随机取一个元素
4.清空元素
字典.clear()
5.获取全部key
字典.keys()
6.遍历字典
方式1:通过字典.keys()方法获取到全部的key
方式2:直接对字典进行for循环,每一次循环都是直接得到key
7.统计字典的元素数量
len(字典)
课后练习
#定义字典
staff_info={
"wanglihong":
{"bumen":"kejibu","gongzi":3000,"jibie":1},
"zoujielun":
{"bumen":"shichangbu","gongzi":5000,"jibie":2},
"linjunjie":
{"bumen":"shichangbu","gongzi":7000,"jibie":3},
"zhangxueyou":
{"bumen":"kejibu","gongzi":4000,"jibie":1},
"liudehua":
{"bumen":"shichangbu","gongzi":6000,"jibie":2}
}
#对员工信息进行遍历
keys=staff_info.keys()
for key in keys:
#对所有jibie为1的员工,级别上升1级,工资增加1k
if staff_info[key]["jibie"]==1:
staff_info[key]["gongzi"]+=1000
staff_info[key]["jibie"]+=1
#遍历员工信息
print(f"{key}:{staff_info[key]}")
8.数据字典之间的转换
1.转列表 list(容器)
2.转元组 tuple(容器)
3.转字符串 str(容器)
4.转集合 set(集合)
5.字典是以键值对方式进行存储,转成其他容器的结果是key的序列或集合,但是其他容器不能转换成字典
9.容器通用排序功能
sorted(容器,reverse=Ture) reverse表示将结果反转(默认是不反转)
name="agajgajsgjhakg"
print(sorted(name,reverse=True))
即默认是从小到大,容器的排序结果通通以列表形式返回
10.字符串大小比较
字符上的比较是通过ASCII码表上的值来进行比较
字符串相比较:
是按位比较,即一位一位的进行对比,只要有一位大,那么整体就相对较大
print("abd"<"bcd")
结果如下:
案例:(可视化章节map的相关知识)向字典中添加key:为数字,Value为列表,列表有n个元素,每个元素是一个元组(借助append()函数)
#字典中如果有year数据,则将元组添加
try:
dict[year].append(name,age)
#没有则将year加入字典
except Exception as e:
dict[year]=[]
dict[year].append(name,age)