神奇语言python 字典
字典 键值对数据 dict dic ={"键":"值"}
存储数据 字典的查找快一些
不可哈希的是可变的数据,可变的数据不可哈希,不可变的数据可以哈希
字典的键: 是不可变数据类型 键不能重复 ,重复的话就会把值覆盖
字典的值:可以随意没有要求
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
增:
dic = {1:"c",2:"a"} dic[11] = "小米"# 11是键 小米是值 dic.setdefault(11,"华为")# 1是键 华为是值 1先去字典中通过11这个键去查有没有值 没有就是nome 2如果是值 就不进行添加 3 如果是nome ,就添加,返回的是添加的值 dict.fromkeys("可迭代对象")
删:
del dic #删除整个字典 del dic [键] # 通过键去删除 dic.pop() # pop 是通过指定键删除 pop也有返回值 返回的是被删除的值 dic.clear() #清空 dic.popitem # 随机删除 pyhton3.6 删除最后一个 python3.5随机删除
改:
dic1 = {"33":"jj","44":"TT"} dic2 ={"55":"gg","66":"pp"} dic1.update({dic2}) # update 添加 # 更新 被更新的内容如果在要更新的内容中那么值就被覆盖 # 两个字典中,都没有就合并 print(dic1) dic2["33"]= "tsp" #字典的增是字典中没有的时候叫增,如果字典中有这个键 就叫改
查:
dic1 = {"33":"jj","44":"TT"} print(dic1[2]) #通过键查找如果键不在报错 print(dic1.get(2)) #通过键查找 如果键不在报nome print(dic1.setdefault(33)) #找不到报nome
其他操作:
dic= {"33":"jj","44":"TT"} for i in dic.keys(): # keys 键 print(i) # 拿到了每一个键 for i in dic.valuse: #vluse 值 # 拿到每一个值 print(i) for k,v in dic.items(): # item #获取键值对 以元祖的形式显示 print(k) print(v)
for k,v in dic2.items(): # k,v = ('33','gg')
print(k)
print(v)
keys() # 获取所有的键 高仿列表
values() # 获取所有的值 高仿列表
item() # 获取键值 以元祖的形式显示
解构 a,b,c = 1,2,3 # 1,2,3 True,False,True '456' [7,8,9] (7,8,9) {'1':8,'2':9,'3':0} # print(a) # print(b) # print(c)
补充:
# dic2 = {'33':'gg','66':'pp'}
# # ret = dic2.get('99','你傻啊,没有还要拿')
# ret = dic2.pop('99','没有')
# print(ret)
字典的嵌套:
字典的嵌套: dic = {'汪峰':{'光头强':'电锯', '葛慧倩':'熊大', '国际章':'熊二'}, '陈冠希':{'张柏芝':'喜剧之王', '阿娇':'千机变'}, '韦小宝':{'建宁':'公主', '龙儿':'教主夫人', '双儿':{'大双':'榴莲','小双':'椰子'}, '阿珂':'刺客'}} dic1 = dic['陈冠希']['阿娇'] print(dic1) print(dic['韦小宝']['双儿']) print(dic['韦小宝']['双儿']['小双'])