day05 字典 dict

哄哄的錘石真菜發表於2018-10-23

今日內容:

字典

成對的儲存資料。 以key:value的形式儲存

用{}表示,每一項內容都是key:value, 每項資料之間用逗號隔開

字典中的key是不能重複的。 儲存是依靠著key來計算的。

字典是使用hash演算法計算key的雜湊值. 使用雜湊值來儲存資料

雜湊演算法得到的是一個唯一的數字(可能是正數, 可能是負數, 很大或者很小)

雜湊演算法是無序的

 

字典中的key必須是可雜湊的, 不可變的就是可雜湊的

字典的value隨便改動

注意: key必須是不可變(可雜湊)的. value沒有要求.可以儲存任意型別的資料

 

不可變: 字串, 元組, int, bool

可變的: list, dict, set

 

操作

dic = {}

  1. 增加

dic[字典中不存在的key] = value  # key如果重複了。 就會修改

 

# # 流程: 1.先判斷key是否存在。 如果存在,就不執行新增, 如果不存在, 執行新增

dic.setdefault((“宮本武藏”, “很牛B”))

# dic.setdefault(“宮本武藏”, “我的宮本很菜”) # 如果key存在了就不會再新增了

 

  1. 刪除

pop() 指定某個key刪除

popitem() 隨機刪除

del dic[key] 刪除

clear() 清空

 

  1. 修改

dic[key] = value  如果key存在,則value覆蓋

dic.updae(dic2)  #把dic2中的內容覆蓋到dic中 #存在則覆蓋,不存在則新增

 

  1. 查詢

dic[key]  #如果key不存在則報錯

dic.get(‘key’,’返回內容’)  #查詢,存在返回value,不存在不報錯,預設返回none

 

# 流程: 1. 先檢測是否存在key,如果存在,就不執行新增, 如果不存在, 執行新增

#        2. 並且根據你給的key把value查詢出來

setdefault() 

  1. 其他操作

keys()  #key的集合

  values()# value的集合

      items() #鍵值對的集合(key,value)

 

字典的迭代

        for k in dic:

            k #key

                     dic[k]#value

 

 

相關文章