Python數據容器dict(字典)的實現
字典的定義
使用{},不過存儲的元素是一個個的:鍵值對,如下語法:
使用{}存儲原始,每一個元素是一個鍵值對
每一個鍵值對包含Key和Value(用冒號分隔)
鍵值對之間使用逗號分隔
Key和Value可以是任意類型的數據(key不可為字典)
Key不可重復,重復會對原有數據覆蓋
字典不可用下標索引,而是通過Key檢索Value
字典數據的獲取
字典同集合一樣,不可以使用下標索引
字典可以通過Key值來取得對應的Value
my_dict={"A":100,"B":80,"C":60} print(my_dict["A"]) print(my_dict["B"]) print(my_dict["C"])
100
80
60
字典的嵌套
字典的Key和Value可以是任意數據類型(Key不可為字典) 那麼,就表明,字典是可以嵌套的
內容獲取類似於二維數組
my_dict = { "sorce":{"A":77,"B":66,"C":33}, "level":{"A":88,"B":86,"C":55}, "grade":{"A":99,"B":96,"C":66} } print(my_dict["sorce"]) print(my_dict["sorce"]["A"]) print(my_dict["grade"]["C"])
{'A': 77, 'B': 66, 'C': 33}
77
66
字典的各種操作
編號 |
操作 |
說明 |
1 |
字典[Key] |
獲取指定Key對應的Value值 |
2 |
字典[Key] = Value |
添加或更新鍵值對 |
3 |
字典.pop(Key) |
取出Key對應的Value並在字典內刪除此Key的鍵值對 |
4 |
字典.clear() |
清空字典 |
5 |
字典.keys() |
獲取字典的全部Key,可用於for循環遍歷字典 |
6 |
len(字典) |
計算字典內的元素數量 |
新增與更新元素 [Key] = Value
語法:字典[Key] = Value,結果:字典被修改,新增瞭元素
註意:字典Key不可以重復,所以對已存在的Key執行上述操作,就是更新Value值
my_dict={"A":100,"B":80,"C":60} my_dict["D"]=40#新增加內容 print(my_dict) my_dict["B"]=88#更新已有內容 print(my_dict)
刪除元素 pop和del
語法:字典.pop(Key),結果:獲得指定Key的Value,同時字典被修改,指定Key的數據被刪除
del 字典[key] 為直接刪除
my_dict={"A":100,"B":80,"C":60} value=my_dict.pop("A") print(value) print(my_dict) del my_dict["B"] print(my_dict)
100
{'B': 80, 'C': 60}
{'C': 60}
清空字典 clear
語法:字典.clear(),結果:字典被修改,元素被清空
my_dict={"A":100,"B":80,"C":60} my_dict.clear() print(my_dict)
{}
獲取全部的鍵 keys
語法:字典.keys(),結果:得到字典中的全部Key
my_dict={"A":100,"B":80,"C":60} k=my_dict.keys() print(k) print(my_dict)
dict_keys(['A', 'B', 'C'])
{'A': 100, 'B': 80, 'C': 60}
遍歷字典
keys()
語法:for key in 字典.keys()
字典不支持下標索引,所以同樣不可以用while循環遍歷
my_dict={"A":100,"B":80,"C":60} for key in my_dict.keys(): print(f"等級:{key},分數:{my_dict[key]}")
等級:A,分數:100
等級:B,分數:80
等級:C,分數:60
values ()
my_dict={"A":100,"B":80,"C":60} for i in my_dict.values(): print(i)
100
80
60
items()
my_dict={"A":100,"B":80,"C":60} for i in my_dict.items(): print(i) print(type(i)) print(type(my_dict.items()))
('A', 100)
('B', 80)
('C', 60)
<class 'tuple'>
<class 'dict_items'>
利用items依次打印key和value
my_dict={"A":100,"B":80,"C":60} #4.依次打印key和value,通過索引 for key,value in my_dict.items(): print(key,value)
A 100
B 80
C 60
容器通用功能總覽
功能 |
描述 |
通用for循環 |
遍歷容器(字典是遍歷key) |
max |
容器內最大元素 |
min() |
容器內最小元素 |
len() |
容器元素個數 |
list() |
轉換為列表 |
tuple() |
轉換為元組 |
str() |
轉換為字符串 |
set() |
轉換為集合 |
sorted(序列, [reverse=True]) |
排序,reverse=True表示降序 得到一個排好序的列表 |
到此這篇關於Python數據容器dict(字典)的實現的文章就介紹到這瞭,更多相關Python數據容器字典內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- python3中dict.keys().sort()用不瞭的解決方法
- Python基礎之數據結構詳解
- python進階從青銅到王者一定會用上的Python技巧
- Python 列表(List)的底層實現原理分析
- 如何利用python實現詞頻統計功能