Python_字典的增、刪、改、查

數據類型劃分

不可變數據類型:    元組、bool、int、str                                                   (也稱做  可哈希)python

 可變數據類型:       list、dict、set(集合,集合可變,內元素不可變)    (也稱做  不可哈希)                  函數

字典dict

       字典是python中唯一的的映射類型,採用鍵值對(key-value)的形式存儲數據。python對key進行哈希函數運算,根據計算的結果決定value的存儲地址,因此字典是無需存儲的,且key必須是可哈希的。spa

        dict 優勢:  字典當中的元素是經過鍵來存取的,而不是經過偏移存取。二分查找去查詢,存儲大量的關係型數據。code

dict的增、刪、改、查

增:   

一、直接鍵值對增長,沒有相同k值時直接添加,k值已經存在,則v值覆蓋。blog

二、經過 setdefault(self,k,v=None)添加,k值沒有時,直接添加,k值已經存在,則不作任何改變,v值默認爲 Noneip

dic = {'age': 18, 'name': 'jin', 'sex': 'male'}
dic['age'] = 76
dic.setdefault('qw')
dic.setdefault('ty',45)

{'qw': None, 'sex': 'male', 'ty': 45, 'name': 'jin', 'age': 76}

刪:
一、pop(self,k:_KT)    按鍵去刪除,有返回值,若是k值原本存在,返回k值對應的v值,若是k值不存在,默認返回None,能夠設置v值爲任何形式。get

二、popitem(self)              隨機刪除一個鍵值對,有返回值,元組形式出現,刪除的鍵值對it

三、clear                                清空字典class

dic = {'age': 18, 'name': 'jin', 'sex': 'male', 'high': 175}
print(dic.pop('age',))
print(dic.pop('ages',{'ssss':1}))
print(dic.popitem())
dic.clear()

18
{'ssss': 1}
('name', 'jin')
{}

改:date

一、直接覆蓋   

二、update()    dic_2.update(dic_1)      覆蓋添加

dic = {'age': 18, 'name': 'jin', 'sex': 'male', 'high': 175}
dic1 = {'as': 'qyqy', 'oipi': 45, 'age' : 13}
dic1.update(dic)
print(dic1)


{'as': 'qyqy', 'name': 'jin', 'high': 175, 'age': 18, 'sex': 'male', 'oipi': 45}

查:

一、直接根據k值查詢,若是k值沒有,會報錯

二、for 循環,總體查

三、get(k,None)   dic_2 = dic_1.get ( k,v)   若是有k值,返回對應的v值,若是沒有對應的k值,默認返回 None ,能夠設定v值返回。

dic = {'age': 18, 'name': 'jin', 'sex': 'male'}
print(dic.keys(),type(dic.keys()))
print(dic.values(),type(dic.values()))
print(dic.items(),type(dic.items()))


dict_keys(['sex', 'name', 'age']) <class 'dict_keys'>
dict_values(['male', 'jin', 18]) <class 'dict_values'>
dict_items([('sex', 'male'), ('name', 'jin'), ('age', 18)]) <class 'dict_items'>
相關文章
相關標籤/搜索