1.dict字典
字典(dict)是python中唯一的一个映射类型.他是以{}扩起来的键值对组成.在dict中
key是唯一的.在保存的时候,根据key来计算出一个内存地址,人后将key_value保存在这个地址中
.这种算法被称为hash算法,所以,切记,在dict记,在dict中存储的key-value中
的key必须是可hash的,如果你搞不懂什么是可哈希,暂时可以这样记,可以改变的都是
不可哈希的,那么可哈希就意味着不可变.这个是为了能准确的计算内存地址而规定的.
{}表示.每次保存两个数据通过key:value,建值对
{["阳仔":"赵阳",强强:张强强"]} 一堆一堆的存
value:任意的数据类型
key: 必须是可哈希的(不可变)=>哈希
错误示范
dic = {['sad',"asd"]:2} print(dic) #不可变的可以放,可变的不可以放
2. dict增删改查和其他相关操作
1.增加
1.新增
dic = {} dic["313"] = "葫芦娃" dic["313"] = "精钢葫" 如果key存在执行的是修改操作.如果不存在执行的是新增 dic.setdfault("王二小") #给的一个参数是key dic.setdfault("王二小","弹溜溜") #如果key不存在新增 dic.setdfault("王二小","山偏激") #如果存在key,不执行任何操作
修改
dic1 = {"name":"朱高炽","age":58,"朱祁镇":18} dic2 = {"name":'朱由检',"年轻":18,"朱棣":55,'张无忌':'赵敏'} #update:把dic2更新到dic1,dic1中如果存在则修改替换,如果不存在则新增 dic1.update(dic2) print(dic1) print(dic2)
删除
dic = {'朱元璋":"明朝开国皇帝","朱棣":"朱元璋四子"} ret = dic.pop("朱棣") # 返回value del dic['朱允炆']# 缺点没有返回.有点写起来简单 dic.clear() # 清空 dic.popitem() # 随机删除.拿到的一定是两个个元素 print(ret) #拿到是元祖 print(ret[0],ret[1])
查询
lst = [1,2,5,8] print(lst[5]) #报错 dic1 = {,"朱棣":55,"朱祁镇":18} print(dic1['朱见深') #keyerror:'朱见深'key不存在 print(dic1.get("朱祁镇")) #dic.get("朱祁镇") == dic1["朱祁镇"] get(key,default) print(dic1.get("朱见深","查无此人") #返回Noen.不存在key
解构
a,b = (1,6) #按位置赋值,赋值数量一定相同 dic = {'朱元璋":"明朝开国皇帝","朱棣":"朱元璋四子"} k,v = dic.popitem()#dic.popitem()的结果是一个元祖,元祖可以直接解构成两个值