码迷,mamicode.com
首页 > 编程语言 > 详细

神奇语言python 字典

时间:2019-01-03 21:36:48      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:不可变   upd   lse   set   from   添加   use   可迭代对象   国际   

字典 键值对数据 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[韦小宝][双儿][小双])

 



神奇语言python 字典

标签:不可变   upd   lse   set   from   添加   use   可迭代对象   国际   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!