python14期(2018.7.6)
6. dict==> 字典, 保存鍵值對, ?樣可以保存?量數據
1. 字典的簡單介紹
字典(dict)是python中唯一的一個映射類型.他是以{ }括起來的鍵值對組成. 在dict中key是唯?的. 在保存的時候, 根據key來計算出?一個內存地址. 然後將key-value保存在這個地址中.這種算法被稱為hash算法, 所以切記, 在dict中存儲的key-value中的key‘必須是可hash的,如果你搞不懂什麽是可哈希, 暫時可以這樣記, 可以改變的都是不可哈希的,那麽可哈希就意味著不可變. 這個是為了了能準確的計算內存地址而規定的.
已知的可哈希(不可變)的數據類型: int, str, tuple, bool不可哈希(可變)的數據類型: list, dict, set
語法 : {key1: value1, key2: value2....}
註意: key必須是不可變(可哈希)的. value沒有要求.可以保存任意類型的數據
2. 字典增刪改查和其他操作
增加 :dic[“key”] = “value ” 新增(賦值) 如果key重復了,會替換了原來的數據
dic.setdefault(“key” , “value”) 如果你的字典中已經包含了這個key,那麽它將不再繼續保存,(註意:如果只給key,不給value,那麽輸出是個空值)
dic.update(dic1) #把dic1中內容更新到dic中,如果key相同,則進行替換,如果不存在,則添加
刪除:
dic .pop(“key”) 刪除一個元素
Ret = dic .pop(“key”) 刪除一個元素,會返回這個元素的value值
del dic[‘key’] 刪除一個元素
dic.popitem() 隨機刪除
ret = dic.popitem() 隨機刪除 會返回一個元組
例: # dic = {"id":1, ‘name‘:‘李嘉誠‘, ‘money‘:10000000}
# 李嘉誠賠了500
#
dic[‘money‘] = dic[‘money‘] - 500 # 用key去修改
# print(dic)
查:
獲取value值: dic[‘key’] 通過查找key.
dic.get(‘key’) 通過查找key.來獲取value值 如果key不存在, 結果none
dic.get(‘key’ ,’value ’) 如果key不存在,可以給他後面附加一個value值,結果是新的 value值
ret = dic.setdefault(‘key’, ’value ’) 首先判斷你原來的字典有沒有這個key,如果沒有,執行新增,然後再用這個key去字典中查詢,返回查到的結果 value
其他操作:
dic.keys() 查詢字典裏面的所有的key.(拿到所有的key的集合),輸出是個高仿列表,可以for循環
dic.values()查詢字典裏面的所有的value.(拿到所有的value的集合),輸出也是個高仿列表,可以for循環
dic.items()拿到鍵值對,如:[(‘key’, ’value ’ ),(‘key’, ’value ’)]
a, b = 1, 2 適用於元組,列表 解構又叫解包 可以編歷dic字典,列表
3. 字典的嵌套
dic.[ “key”] 字典的嵌套,如果都是字典就選key ,如果裏面還有列表,就用列表索引
python14期(2018.7.6)