字典數字自動排序python
enumerate 枚舉算法
for i,k in enumerate(dic,1) #第二個參數默認不寫就是0 ---枚舉 print(i,k)
dict,以{}來表示每一項用逗號隔開,內部元素用 key:value的形式來保存code
定義對象
dict_l = {'jj':'林俊杰','jay':'周杰倫'} dic = dict(k=1,k1=123)
查詢效率很是高,經過Key來查找元素排序
內部使用key來計算一個內存地址(暫時),hash算法,key必須是不可變的數據類型(key是可哈希數據類型)內存
增get
1.dic[''] =''hash
dic = {} #徐崢:人在囧途 dic['徐崢']='人在囧途' #直接用key往裏面存數據 dic = {'徐崢': '人在囧途'} #若是key 已經存在,那麼會替換掉原來的value
2.dic.setdefault('⭐')it
dic.setdefault('黃秋生','頭文字D') #若是key存在了,不會執行新增
刪for循環
1.pop('key')
dic.pop('key') #指定key刪除
2.popitem()
dic.popitem() #Python3.6版本默認刪除最後一個鍵值對
3.del
del dic['key'] #刪除
4.clear()
dic.clear() #清空字典
改
1.用key直接去改
dic = {'煙臺':'李文浩','濰坊':'聶冰'} dic['煙臺']='李小龍' #dic = {'煙臺':'李小龍','濰坊':'聶冰'}
2.update() dic.update({1:2,'a':'a1'})
有則改,無則增 dic = {'煙臺':'李文浩','濰坊':'聶冰'} dic1 = {'煙臺':'李小龍','濰坊':'趙秋雨'} dic.update(dic1) #dic = {'煙臺':'李小龍','濰坊':'趙秋雨'}
查
只能經過建獲取值不能經過值獲取建
1.最直觀的,直接用key,存在就返回鍵對應的值,若是不存在報錯
dic = {'煙臺':'李文浩','濰坊':'聶冰'} print(dic['煙臺']) #李文浩
2.get方法,若是key不存在會返回None
print(dic.get('key','本身定義返回內容')) #李文浩 #若是不存在默認返回None,能夠本身定義
value = dic.setdefault('key') print(value) #返回vaule
字典的相關操做
直接for循環打印的是字典的key
1.對字典的遍歷 keys()拿到的是 全部的key
dic = {'汪峯':'亞洲舞王','羅志祥':'大陸音樂的半壁江山'} print(dic.keys()) #像列表但不是列表 for key in dic.keys(): print(dic[key]) #拿到value
2.valus() 拿到的是 全部的valu
prin(dic.values())
3.items() #拿到的是key和value [(key:value),(key:value),]
print(dic.items)
4.遍歷字典
for k,v in dic.items(): print(k) print(v)
5.字典自己是一個可迭代對象,能夠直接進行for循環
for k in dic: print(k)