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)