字典dictionary

空扰寡人 提交于 2019-12-09 01:13:28
#_*_coding:utf-8_*_#作者:王佃元#日期:2019/12/8'''字典:字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中格式如下所示:d = {key1 : value1, key2 : value2 }key:要求不可变,且唯一性字典的key相当于列表的index,区别在于字典的key可以是任意不可变数据类型,而列表只能是整数为啥字典比列表查找高效假设有一栋楼,住着1000人,你有个好朋友小王,住在这栋楼,你有急事要找他,你不知道他住几楼几号房间。这时你怎么办?你找到门卫处,向门卫说,我找小王。列表的方法:门卫说:我们这里每一个房间住着谁都有记录,这是记录本,你自己找吧!这个记录本有1000条记录,你从第一条开始翻,一条一条往下看,终于在第177条记录的时候找到了你的朋友小王所在的房间号。字典的方法门卫说: 我这里有一个公式,只要你记得你的朋友的名字,就能很快的找到你朋友在几号房间。这个公式是:hash(姓名)%1001对你的朋友小王的名字进行hash运算,然后对得到的结果对1001进行取余操作,得到的数字就是你的朋友小王的房间号了,经过计算,你发现hash(‘小王’)%1001=177。总结:列表查找是按顺序一个一个遍历,当列表越大,查找所用的时间就越久字典是通过键值直接计算得到对应的地址空间,查找一步到位————————————————版权声明:本文为CSDN博主「loren no hurry」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq_42815145/article/details/91353624'''#不可变类型:整型、元组、字符串#可变类型:列表、字典#字典的增dic = {'name':'dery','is_handsome':'True','job':'IT'}# print(dic)# print(dic['name'])  #字典取值为什么使用【】,跟列表类似,字典的key等同于列表的index,列表使用【index】取值,所以字典也一样【key】# #字典的赋值# dic['car'] = 'nisson'   #有则修改,无则添加# a = dic.setdefault('age',36)    #如果字典中存在key,则不改变,并且返回已存在的value值,如果没有则新增,并且返回新增的value# print(dic,a)#字典的查询#根据key去查询对应value# print(dic['name'])# print(list(dic.keys()))     #获取字典对应key# print(list(dic.values()))   #获取字典对应value# print(dic.items())          #获取内容#字典的修改dic['name'] = 'dery wong'   #有则修改,无则添加print(dic)dic1 = {'hello':'world','name':'dery lee'}dic.update(dic1)print(dic)#字典的删除# dic1.clear()    #清空字典内容,变为空字典# del dic1['hello'] #删除字典中的指定键值对dic1.pop('hello')   #删除字典中指定键值对,并返回该键值对dic1.popitem() #随机删除键值对,并以元组方式返回值print(dic1)del dic1    #删除整个字典#其他操作及涉及方法dic1 = dic.fromkeys([1,2,3],'test')print(dic1)#字典的排序print(sorted(dic))#字典的遍历for i in dic:    print(i,dic[i])for i,v in dic.items():    print(i,v)
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!