1. 程式人生 > >Python基礎資料型別(五) dict字典

Python基礎資料型別(五) dict字典

字典dict{}

字典數字自動排序

enumerate 列舉

for i,k in enumerate(dic,1) #第二個引數預設不寫就是0           ---列舉
    print(i,k)

dict,以{}來表示每一項用逗號隔開,內部元素用 key:value的形式來儲存

定義

dict_l = {'jj':'林俊杰','jay':'周杰倫'}
dic = dict(k=1,k1=123)

查詢效率非常高,通過Key來查詢元素

內部使用key來計算一個記憶體地址(暫時),hash演算法,key必須是不可變的資料型別(key是可雜湊資料型別)

1.dic[''] =''

dic = {}
#徐崢:人在囧途
dic['徐崢']='人在囧途'    #直接用key往裡面存資料
dic = {'徐崢': '人在囧途'}
#如果key 已經存在,那麼會替換掉原來的value

2.dic.setdefault('⭐')

dic.setdefault('黃秋生','頭文字D')
#如果key存在了,不會執行新增

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,可以自己定義
  1. setdefault() 1.新增(先看有沒有key,有就過,沒有就執行新增)2.會根據key把值返回
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)

3.8小資料