python基础-05

字典的简单介绍

字典(dict)是python中唯一的一个映射类型.他是以{ }括起来的键值对组成在dict中key是唯一的.在保存的时候,根据key来计算出一个内存地址然后将key-value保存在这个地址中.这种算法被称为hash算法,所以,切记,在dict中存储的key-value中的key必须是可hash的,如果你搞不懂什么是可哈希,暂时可以这样记,可以改变的都是不可哈希的,那么可哈希就意味着不可变.这个是为了能准确的计算内存地址而规定的.

 

dict 字典

    {}表示.没出保存两个数据 key:value, 键值对

    {"大秧歌":"a","小朋友"b"}

    value:任意的数据类型

    key:必须是可哈希(不可变)=>哈希

    字典不能切片

案例:

dic={"id":1,'name':'sylar',"age":18,"hobby":["抽烟","喝酒","烫头"],"pet":("大白梨","提莫","盖伦")}

print(dic)

print(dic["hobby"])

 

dict增删改查

新增

dic={}

dic['jay']= "周杰伦"

dic['jay']= "王力宏"

#如果key存在,执行的是修改操作.如果key不存在,执行的是新增

print(dic)

 

#如果dict中没有出现过这个key:value,可以通过setdefault设置默认值

dic.setdefault("李嘉诚")    #也可以往里面设置值

dic.setdefault("李嘉诚","房地产")        #如果dict中已经存在了,那么setdefault将不会起作用

print(dic)

 

删除

dic={'朱元璋':"明朝开国皇帝","朱棣":"朱元璋第四个儿子","朱允炆":"朱元璋孙子"]

ret=dic.pop("朱棣")

print(ret)

print(dic)

 

dic.clear()  清空字典里所有内容

ret=dic.popitem()   #随机删除

print(ret[0],ret[1])

print(dic)

 

解构

a,b=(1,6)   #按位置赋值,赋值数量一定相同

dic= {'朱元璋":"明朝开国皇帝","朱棣":"朱元璋四子"}  

k,v = dic.popitem()     #dic.popitem()的结果是一个元祖,元祖可以直接解构成两个值

 

修改

dic={"id":123,"name":'sylar',"age":18}

dic1={"id":456,"name":"小白","ok":"wtf"}

dic.update(dic1)    #把dic中的内容更新到dic中,如果key重名,则修改替换.如果不存在key,则新增

print(dic)

print(dic1)

posted on 2018-06-05 15:27  I'm-BuBu  阅读(87)  评论(0编辑  收藏  举报