Python資料類型之四(字典)

來源:互聯網
上載者:User

標籤: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資料類型之四(字典)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.