神奇语言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['韦小宝']['双儿']['小双'])


原文地址:https://www.cnblogs.com/zhangguangpei/p/10216845.html