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

 

 

posted on 2018-06-05 14:26  PiuPiudada  阅读(124)  评论(0编辑  收藏  举报