字典是python中惟一的映射類型,採用鍵值對(key-value)的形式存儲數據。python
python對key進行哈希函數運算,字典是無序存儲的:數字、字符串、元組。app
列表是有序的對象結合,字典是無序的對象集合。二者之間的區別在於:字典當中的元素是經過鍵來存取的ide
數據類型分爲可變和不可變函數
可變數據類型:list dict setspa
不可變:bool 元祖 str int 可哈西3d
1.dict(key,value)code
key 必須是不可變數據類型, 對象
value 能夠使任意類型blog
2.優勢:能夠二分查找去查詢 存儲大量關係型數據字符串
特色:無序,可嵌套
dic = { 'name':['大猛','小孟'], 'py9':[{'num':71,'avg_age':18,}, {'num': 71, 'avg_age': 18, }, {'num': 71, 'avg_age': 18, }, ], True:1, (1,2,3):'wuyiyi', 2:'二哥', } print(dic) 輸出:{True: 1, 'name': ['大猛', '小孟'], 'py9': [{'num': 71, 'avg_age': 18}, {'num': 71, 'avg_age': 18}, {'num': 71, 'avg_age': 18}], 2: '二哥', (1, 2, 3): 'wuyiyi'}
3.字典的增刪改查:
增
dic={'age': 18, 'name': 'jin', 'sex': 'male'} 1.pop print(dic.pop('name'))#有返回值,經過鍵刪除,打印出刪除的值 輸出:jin dic.popitem()#隨機刪除,元祖裏是刪除的鍵值,也有返回值 2.del del dic #刪除字典,再打印字典會報錯 del dic['age'] 刪除age鍵值對 輸出:{'sex': 'male', 'name': 'jin'} 3.clear #清除字典內容 dic.clear() 輸出:[]
dic={'age': 18, 'name': 'jin', 'sex': 'male'} 1.經過鍵值直接賦值改 dic['age']=20 2.update dic1={'我':'朱兆筠','age':18,'name': 'jin'} dic.update(dic1)#把dic1的內容更新覆蓋到dic 輸出:{'我': '朱兆筠', 'age': 18, 'name': 'jin', 'sex': 'male'}
dic1 = {'age': 18, 'name': 'jin', 'sex': 'male',} 1.print(dic.keys())#打印全部鍵 輸出:dict_keys(['name', 'sex', 'age']) print(dic.values())#打印全部值 輸出:dict_values([18, 'male', 'jin']) print(dic.items())#打印全部鍵值對 輸出:dict_items([('age', 18), ('sex', 'male'), ('name', 'jin')]) 2.for i in dic: #默認輸出鍵 輸出:name sex age for i in dic.keys(): 輸出:name sex age for i in dic.values(): 輸出:18 jin male for k,v in dic.items(): print(k,v) 輸出:name jin sex male age 18 3.經過鍵直接查,可是查不到的話就報錯 v1=dic['name'] print(v1) 輸出:jin 4、get 查不到不報錯,能夠設置返回值用這個比直接查好 dic.get('name11’,沒有這個鍵) 輸出:沒有這個鍵
4.dic 嵌套
dic = { 'name':['alex','wusir','taibai'], 'py9':{ 'time':'1213', 'learn_money':19800, 'addr':'CBD', }, 'age':21 } 1.把age 改爲56 dic[age]=56 輸出:{'py9': {'addr': 'CBD', 'time': '1213', 'learn_money': 19800}, 'name': ['alex', 'wusir', 'taibai'], 'age': 56} 2.在name 裏增長一個'ritina' dic[name].append('ritina') 輸出:{'py9': {'addr': 'CBD', 'time': '1213', 'learn_money': 19800}, 'name': ['alex', 'wusir', 'taibai', '日天'], 'age': 56} 3.把name ['alex','wusir','taibai']裏alex變大寫 dic['name'][0]=dic['name'][0].upper() 4.在py9裏面添加新的鍵值對 dic['py9']['female']=6 print(dic)