今天小張幫大家簡單介紹下Python的一種數據結構: 字典,字典是 Python 提供的一種常用的數據結構,它用於存放具有映射關系的數據。
比如有份成績表數據,語文:79,數學:80,英語:92,這組數據看上去像兩個列表,但這兩個列表的元素之間有一定的關聯關系。
如果單純使用兩個列表來保存這組數據,則無法記錄兩組數據之間的關聯關系。為了保存具有映射關系的數據,Python 提供了字典,字典相當於保存了兩組數據,
其中一組數據是關鍵數據,被稱為 key;另一組數據可通過 key 來訪問,被稱為 value。形象地看,字典中 key 和 value 的關聯關系如圖 1 所示:
由於字典中的 key 是非常關鍵的數據,而且程序需要通過 key 來訪問 value,因此字典中的 key 不允許重復。
一.介紹
1.定義
dict(字典),以{}表示,每一項用逗號隔開, 內部元素用key:value的形式來保存數據,例如
{"jj":"林俊傑", "jay":"周傑倫"}
2.原理
- 查詢的效率非常高, 通過 key 來查找元素
- 內部使用 key 來計算一個內存地址,采用 hash 算法,並且 key 必須是不可變的數據類型(即為可哈希的數據類型)
- dict 保存的數據不是按照我們添加進去的順序保存的. 是按照 hash 表的順序保存的.而 hash 表不是連續的. 所以沒有索引,不能進行切片工作. 它只能通過 key 來獲取 dict 中的數據.
dic = {} # 空字典
dic['徐崢'] = "人在囧途" #直接用key往里面存數據即可
print(dic["徐崢"]) # 最好別怎么寫,寫成 print(dic.get("徐錚")),此時假入沒有徐錚,程序也不會報錯,會返回None
在這里順便說下可哈希----可哈希就是不可變
- 已知的可哈希(不可變)的數據類型: int, str, tuple, bool
- 不可哈希(可變)的數據類型: list, dict, set 集合 此三類不能作為 key
二.字典的增、刪、改、查
1. 字典的新增:
2. 刪除
3. 修改
4. 查詢
5. 其他操作
5.1 get 常用方法
5.2 keys()、 values()、 items()的用法
5.3 fromkeys 是一個類方法.作用是創建新字典
三 小技巧,騷操作
1.給定一個字典,然后計算它們所有數字值的和。
2.列表內字典去重
詳細代碼 掃面下方二維碼觀看
