#coding=utf-8
'''
数据类型划分: 可变数据类型 , 不可变数据类型
不可更改数据类型: 元祖,bool,str,int 可哈希
可变数据类型 :list ,dict, 不可哈希
dict key 必须是不可变数据类型 可哈希
value 任意数据类型
dict 优势:
二分查找去查询
储存大量的关系数据
dict特点:
它是无序的(3.5-3.5之前)
'''
dic ={ 'name':['打蒙','小梦'], 'py9':[{'num':71,'age_avg':18}], True : 1, (1,2,3):'wuyiqi', 2:'TWO', } print(dic)
# 增
dic1 = {'name':'shuai','age':19,'sex':'man'} dic1['height']=185 #没有键值对,添加 dic1['age'] = 16 #有这个键就覆盖 dic1.setdefault('weght',150) # 有键值对,不做任何改变,没有才添加
# 删除
dic1.pop('age') #有返回值,按键去删除 dic1.pop('age','没有此键') #有返回值,按键去删除,可设置返回值 dic1.popitem()#随机删除,3.6默认从最后一个删除,返回元祖形式 # dic1.clear() 清空 # del dic1 删除
#改 update
dic2={'like':'pingpang'} dic2.update(dic1) #有就覆盖,没有就更新进去 print(dic1) print(dic2)
# 查.
print(dic1.keys())
print(dic1.values()) print(dic1.items()) ''' dict_keys(['name', 'sex', 'height']) 键 dict_values(['shuai', 'man', 185]) 值 dict_items([('name', 'shuai'), ('sex', 'man'), ('height', 185)])列表元祖 ''' for i in dic1.keys(): print(i) for j in dic1.values(): print(j) for c,v in dic1.items(): print(c,v)下面就是结果,一一对应 ''' name shuai sex man height 185 ''' v1 = dic1['name'] print(v1)
#get 查询是否存在键
v2=dic1.get('name1','meiy')#有返回值,可自定义 print(v2)
特别注意:
get ,, pop 兼有返回值,可在查询之时,判断是否存在此键.