#_*_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)
原文:https://www.cnblogs.com/python-beginner/p/12008824.html