一、定义
什么是字典?
字典是一种数据类型,是一系列数据的组合。
每一个数据单元都分为key和value,key也称主键,具有唯一性,不可重复。value可以理解成是key对应的值。
1 info={
2 1:"wo shi shei",
3 2:"sun wu kong",
4 "stu001":"alex",
5 "stu002":"zhangyang",
6
7 }
如上,key可以是int型,也可以是字符型,value亦是。
二、字典数据的增删改查
1、查询(只能通过key来查询)
1 print(info["stu001"])
查询此键值对应的数据
2、修改数据
info[1]="cbad" #如果key值存在,则修改数据
info["stu005"]="qwe" #如果key值不存在,则创建数据
3.增添数据
用setdefault()方法,括号内第一个值为key,第二个是value
info.setdefault("stu001","ALEX") #如果键值存在,不做修改
info.setdefault("stu006","dawang") #如果键值不存在,创建数据
info["stu005"]="qwe" #如果key值不存在,则创建数据(不推荐此种添加数据的方法,不安全)
4.删除数据
必须写键值,只能用键值。
del info["stu005"]
info.pop("stu005")
三、其它的知识点
1.获取key是否存在的安全方法:
①get()方法
print(info.get("stu001"))
②大众方法
print("stu2001" in info)
不止字典,列表、集合都能用此方法。
2.将所有Key和value的值打印出来
keys()方法和values()方法
print(info.values()) #将所有value的值打印出来
print(info.keys()) #打印所有key的值
3.合并字典
update()方法
info.update(b) #将两个字典合并,如果有相同的key,其value被覆盖成字典b的值
4.将字典转化成列表输出
print(info.items()) #将一个字典转化成一个列表,每个元素都是一个元组(仅本行有效,字典本身并不改变)
字典本身并没有改变
5.字典反转(将原来的kye和value互换)
1 alphabet = {
2 "a":0,"b":1,"c":2,"d":3,"e":4,"f":5,"g":6,"h":7,"i":8,"j":9,"k":10,"l":11,"m":12,
3 "n":13,"o":14,"p":15,"q":16,"r":17,"s":18,"t":19,"u":20,"v":21,"w":22,"x":23,"y":24,"z":25,
4 } # 原字典
5 dict_new = {value:key for key,value in alphabet.items()} # 将字典反转 key和value互换
6 print(dict_new)
7 print(alphabet)
原字典alphabet不改变
四、嵌套字典及其循环
1.字典循环
for i in info:
print(i,info[i])
当中,i是key,info[i]是对应的value
2.嵌套字典
part={
"新疆":{
"北疆":“a”
"南疆":“b”
},
"河北":{
"石家庄":"c"
"保定":"d"
},
"湖南":{
"长沙市":"e"
"株洲市":"f"
},
}
3.嵌套字典的循环
for i in part:
print(i)
for j in part[i]:
print(j)