day5

吧啦吧啦吧啦

1.字典
字典是python中唯一的一个映射类型
用 { }括起来的键值对组成.在dict中key唯一的. 唯一性
在保存的时候,根据key来计算出一个内存地址,然后将key_vlaue保存在这个地址中,这种算法被称为hash算法.
切记,在dict中存储的key_value中的key必须是hash的.
如果搞不懂什么是可哈希,暂时可以这样记,可以改变的都是不可哈希的.
已知的可哈希(不可变)的数据类型: int,str,tuple,bool
不可哈希(可变)的数据类型: list,dict,set
语法:
{key1:value1,key2:value2......}
注意: key必须是不可变的.(可哈希),value没有要求,可以保存任意类型的数据.
dict保存的数据不是按照我们添加进去的顺序保存的,是按照hash表的顺序保存的,而hash表
的顺序是不连续的,所以不能进行切片工作,它只通过key来获取dict中的数据.
2.字典的增删改查
1.增加
dic['key'] = 'value' # 如果dict中没出现这个key,就会增加一个key-value的组合成dict
# dic['name'] = '笨蛋'
dic.setdefault(key,value) #如果dict中没有出现过这个key-value.可以通过setdefault设置默认值.
#dic.setdefault('傻子') 如果dict中已经存在了,那么setdefault不会起作用.
2.删除
pop(key) # 指定key值删除.有返回值,返回你删除的key所对应的value
#ret = dic.pop('jay')
print(ret)
del dic[key] 删除
popitem() # 随机删除.
#ret = dic.popitem()
clear() 清空字典中的所有内容
3.修改
dic[key] = value
dic.update(字典)
# dic = {'id':123,'name':'sylar','age':18}
dic1 = {'id';456,'name':'bendan','age':88}
dic.update(dic1) # 把dic1中的内容更新到dic中,如果key重名,则替换修改.如果不存在key,则新增.
print(dic)
print(dic1)
4.查询
查询一般用key来查找具体的数据.
get(key)
dic[key]
for 循环
setdefault(key)
#print(dic['name'])
# print(dic['sylar']) #报错.如果不存在,会报错
print(dic.get('ok'))
print(dic.get('sylar')) # None. 如果不存在,会返回None
print(dic.setdefault('sylar','牛b')) # 牛b
5.其他相关操作.
keys 获取到所有的键存在一个高仿的列表中
values 获取到所有的值存在一个高仿的列表中
items 获取到所有的键值对已元祖的形式存在一个高仿的列表中

解构:
a,b = 1,2
print(a,b)

(c,d) = 3,4
print(c,d)

e,f = [1,2,3] # 解构的时候注意数量必须匹配.
print(e,f)
6.字典的嵌套
{key:vale,key1:value1,{key2:value2}}
posted @ 2018-08-01 20:11  吧啦吧啦吧啦  阅读(92)  评论(0编辑  收藏  举报