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)
不可变的可以放,可变的不可以放
- 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()的结果是一个元祖,元祖可以直接解构成两个值