標籤:print div 有序 關係 必須 error: 內容 列印 修改
字典: 格式:dict{}
資料類型劃分:可變資料類型 與 不可變資料類型
可變資料類型 稱為:可雜湊元組 bool int str
不可變資料類型 稱為:不可雜湊 如:list bict set
dict key :必須是不可變資料類型
value : 任意資料類型
dict 的優點:
二分尋找去查詢 (速度快)
儲存大量的關係型資料
3.5版本之前是無序的。3.6版本以後好像是有序的。
建立一個dict:
dic = { ‘name‘:[‘taibai ‘,‘alexC‘,‘AbC ‘,‘egon‘,‘ Ritian‘,‘ Wusir‘,‘ aqc‘], ‘py9‘:{ ‘time‘:‘1213‘ ‘learn_money‘:19800 ‘addr‘:‘CBD‘ }, ‘age‘:21 }
增:
增:dic[‘name‘] = ‘小剛‘ #無序添加。有索引值對,直接覆蓋。print(dic)#輸出:{‘age‘: 20, ‘sec‘: ‘male‘, ‘name‘: ‘小剛‘}dic[‘high‘] = 185 #無序添加。沒有索引值對,直接添加新內容。print(dic)#輸出:{‘high‘: 185, ‘age‘: 20, ‘name‘: ‘小明‘, ‘sec‘: ‘male‘}使用setdefault增,PS:當字典中有索引值對時不會做任何改變。沒有時才會添加。dic.setdefault(‘weight‘) #添加新的鍵。print(dic)#輸出:{‘name‘: ‘小明‘, ‘weight‘: None, ‘age‘: 20, ‘sec‘: ‘male‘}dic.setdefault(‘weight‘,‘150‘) #添加新的鍵。還有 值。print(dic)#輸出:{‘name‘: ‘小明‘, ‘age‘: 20, ‘weight‘: ‘150‘, ‘sec‘: ‘male‘}dic.setdefault(‘name‘,‘小剛‘) #沒有任何變化print(dic)
刪:
dic = {‘name‘:‘小明‘,‘age‘:20,‘sec‘:‘male‘}pop 有傳回值,按 鍵 刪除。print(dic.pop(‘name‘)) #列印出 刪掉的內容print(dic) #列印刪除後的列表print(dic.pop(‘abc‘,‘自訂‘)) #後邊自訂位置預設為 None 為了在不確定是否有‘abc‘情況下 防止報錯輸出:自訂print(dic.pop(‘abc‘))#報錯: File "G:/lod_boy_S9_Python/5Day/test.py", line 49, in <module> print(dic.pop(‘abc‘)) KeyError: ‘abc‘print(dic)print(dic.popitem()) #有傳回值 隨即刪除print(dic)dic.clear() #清空字典print(dic)del dic #刪除字典。會報錯。print(dic)del dic[‘name‘] #del 也可以刪除 索引值對print(dic)
改:
dic = {‘name‘:‘小明‘,‘age‘:16,‘sec‘:‘male‘}dic2 = {‘age‘:20,‘sec‘:‘male‘,‘love‘:‘moli‘}dic[‘age‘] = 16 #通過 鍵 修改 值print(dic)dic2.update(dic) #將dic1的內容 添加到dic2 遵守 沒有就添加,有就替換的原則。print(dic2)print(dic)
查:
dic = {‘age‘:20,‘sec‘:‘male‘,‘love‘:‘moli‘}print(dic.keys()) #清單類型 列印鍵print(dic.values()) #清單類型 列印值print(dic.items()) #無序的情況下 已 元群組類型 列印出 索引值對for i in dic : # 預設已 str類型 列印出 鍵 print(i)print(dic.get(‘張三‘,‘該使用者不存在‘)) #在不確定的情況下 可以查詢該鍵是否存在 並且不報錯for k,v in dic.items() : #去除元組的括弧 分別將 鍵 值 賦給 k v print(k , v)
Python資料類型之四(字典)