I,m-Mr-wang

字典

#key-value字典就是个键值对
#字典的特性:dict是无序的,因为没下标;key必须是唯一的
info={
'NO1':'zhangsan',
'NO2':"lisi",
'NO3':"wangsan",
}
print(info)
#-----------------------------------------------------------查-------------------------------------------------------
print(info['NO2'])#字典通过key取值,确定字典里有,才用此方法
print(info.get('NO1'))#安全方法,有就返回
print('NO9' in info)#如果在就取,不在就FALSE
#------------------------------------------------------------改----------------------------------------------------
info['NO2']='modify item'#修改字典数据
print(info)
#-----------------------------------------------------------删------------------------------------------------------
'''del info['NO1']
info.pop('NO2')
print(info)
info.popitem()#删除最后一个,但是字典是随机的,所以这个等同随机删除,没意义
print(info)'''
#多级字典嵌套及操作
n_catalog={'A':{'list1':['sort1','sort2'],'list2':['sort3','sort4']},
'B':{'kind1':['Q1','Q2'],'kind2':['Q3','Q4']},
'C':{'sort1':['W1','W2'],'sort2':['W3','W4']}}
print(n_catalog)
#-----------------------------------------------------------------改---------------------------------------------
n_catalog['A']['list2'][0]='newnumber'
print(n_catalog)
print(n_catalog.values())#打印所有的内容,除了key
print(n_catalog.keys())#打印所有key,不打印内容
n_catalog.setdefault('D',{'test1':[1,2]})#到字典里区D的值,取得到就返回,取不到就创建一个新的,赋的值就是后面的test1
n_catalog.setdefault('B',{'test1':[1,2]})#
print(n_catalog)


#---------------------------------------------------字典合并--------------------------------------------------
info2={
'NO1':'zhangsan',
'NO2':"lisi",
'NO3':"wangsan",
}
b={'F':'wangchu','G':'zhouwu','NO1':'CCCCCCCCC'}#新的字典
info2.update(b)#合并后,有交叉的就覆盖,没有的就合并入字典
print(info2)
print(info2.items())#把一个字典转换成列表
NewDict=dict.fromkeys([1,2,3],'value')#初始化一个新的字典,1,2,3是key,value是初始化的值
print(NewDict)
#--------------------------------------------------------字典的循环------------------------------------------------
for i in info2:#更高效
print(i,info2[i])
for key,value in info2.items():
print(key,value)

posted on 2018-07-12 15:58  I,m-Mr-wang  阅读(162)  评论(0编辑  收藏  举报

导航