1.字典
1.1 字典是python中唯一的一个具有映射的类型.
dict = {"键":'值'} 键(key)是必须是不可变的(可哈希的).
值(value)没有要求.
1.2 不可变的数据类型:int,str,tuble,bool
不可哈希(可变)的数据类型: list, dict, set(集合).
1.3 字典的增删改查
1.3.1 増:
1) dic["键"] = "值"
2) dic.setdefault("键","值") # 1.先去字典中通过'键'查看是否有值.
2.如果有值,就不进行添加.
3.如果没有就进行添加 返回的就是添加的值.
1.3.2 删
1) del dic #删除整个字典. del dic['键'] #通过指定键删除. 2) dic.pop('键') #通过指定键删除,pop具有返回值,返回的是被删除的东西. 3) dic.clear() #清空 4) dic.popitem() #随机删除 python3.6中删除最后一个,python3.5随机删除.
1.3.3 改
1) dic.update(dic1) #update 更新 dic中与dic1相同的键的值,会被替换掉. 2) dic["键"] = "值" #字典中没有相同键时是添加,有相同键位时是更换.
1.3.4 查
1)print(dic["键"]) #通过键位查找 如果键不存在就报错 2)print(dic.get("键")) #通过键位查找 如果键不存在不报错,返回None 3)print(dic.setdefault("键")) #不存在就返回None
1.3.5 其他操作
###循环打印dic中的键
for i in dic: print(i)
for i in dic.keys(): print(i)
###循环打印dic中的值
for i in dic: print(dic.get(i))
for i in dic.values(): print(i)
###循环打印键值
for i in dic.items(): print(i)
for i in dic: print(i,dic[i])
keys() # 获取所有的键 高仿列表
values() # 获取所有的值 高仿列表
item() # 获取键值 以元祖的形式显示
dic3 = dict.fromkeys([1,2,3,4,5,6,7,8,9,0],[1,2,3])
第一个参数是键 要是可迭代的对象
第二个参数是值, 值是无所谓 是因为创建的新字典的值用的都是一个 值是一个可变数据类型
2. 字典的嵌套
dic = {'汪峰':{'光头强':'电锯', '葛慧倩':'熊大', '国际章':'熊二'}, '陈冠希':{'张柏芝':'喜剧之王', '阿娇':'千机变'}, '韦小宝':{'建宁':'公主', '龙儿':'教主夫人', '双儿':{'大双':'榴莲','小双':'椰子'}, '阿珂':'刺客'}} dic1 = dic['陈冠希']['阿娇'] print(dic1) print(dic['韦小宝']['双儿']) print(dic['韦小宝']['双儿']['小双'])
3.集合(set)
集合 存储数据 天然去重 无序 不能是用下标