一、基础
-
字典是一种传输数据的格式
一定用双引号
字典可变user={"id":"001","name":"python"} print(user) # {'id': '001', 'name': 'python'} #有重复的键时,只保存后面的 user={"id":"001","name":"python","name":"top"} print(user) # {'id': '001', 'name': 'top'}
-
创建空字典
d={} d=dict() print(d) print(type(d)) # dict
-
字典访问/数据访问
user={"id":"001","name":"python"} print(user["name"]) course={"id":"001","name":"python"} print(course["name"]) # 当键不存在,有错 print(course.get("name")) # 当键不存在,为None print(course.setdefault("name","no value")) # 当键不存在,为" no value",并加入字典
setdefault(“keyname”,“no value”):当keyname不存在时,将 “keyname”-“no value” 加入字典,并获取该新值;若存在,则获取对应的值
-
字典遍历
course={"id":"001","name":"python"} for k in course: print(k) # key for k in course.keys(): print(k,':',course[k]) # key for v in course.values(): print(v) # value for item in course.items(): #items取出的是元组 print(item) # (key, value) for k,v in course.items(): print(k,v) # (key, value)
二、dict操作
-
clear()清空
d = {"id":"001","name":"tom"} d.clear() print(d) # {}
-
删除 pop(), popitem()
course={"id":"001","name":"python"} course.pop("id") print(course) # {'name': 'python'} course={"id":"001","name":"python"} course.popitem() print(course) # 删除最后一个键值,输出为{'id': '001'}
-
字典合并(字典连接)
d1 = {"id":"001", "name":"tom"} d2 = {"class":"Python课程", "room":"room1"}
-
d1.update(d2):更新d1,地址不变
d1.update(d2) print(d1) # {'id': '001', 'name': 'tom', 'class': 'Python课程', 'room': 'room1'}
-
d3 = dict(d1, **d2)
d3 = dict(d1, **d2) print(d3) # {'id': '001', 'name': 'tom', 'class': 'Python课程', 'room': 'room1'}
-
for 循环
d3 = {} for key1 in d1: d3[key1] = d1[key1] for key2 in d2: d3[key2] = d2[key2] print(d3) # {'id': '001', 'name': 'tom', 'class': 'Python课程', 'room': 'room1'}
-
-
fromkeys() 一般不用:以一个集合的元素创建字典
keys={"id","grand","price","color"} # 把键存在集合中,不重复 mobile={}.fromkeys(keys) print(mobile) # {'price': None, 'color': None, 'grand': None, 'id': None}
-
list和dict转换
#利用枚举将列表转换成字典 #将字典转换成列表 print('将dict转换成list:') course={"id":"001","name":"python"} print(list(course)) # ['id', 'name'] print(list(course.keys())) # ['id', 'name'] print(list(course.items())) # [('id', '001'), ('name', 'python')]