Python從零開始系列連載(14)——Python特色資料型別(字典)(下)
字典的操作
字典提供了很多方法對字典操作:
1.dict.keys()
作用:返回包含字典所有key的列表
2.dict.values()
作用:返回包含字典所有value的列表
3.dict.items()
作用:返回包含所有(鍵,值)項的列表
4.dict.clear()
作用:刪除字典中的所有項或元素,無返回值(注意,不是刪除字典,而是清空字典內容)
5.dict.get(key , default=None)
作用:返回字典中key對應的值,若key不存在,則返回default的值(default預設為None)
6.dict.pop(key [,default])
作用:如果字典中存在key,則刪除並返回key對應的value;如果key不存在,且沒有給出default值,則引發KeyError異常
7.dict.setdefault(key , default = None)
作用:如果字典不存在key,則由dict[key] = default為其賦值
8.dict.update(adict)
作用:將字典adict中鍵值對新增到dict中
遍歷字典只需要遍歷它的鍵:
(重點)字典的複製:
當我們需要複製一份同樣的字典,怎麼操作呢?
你可能覺得可以這樣!
直接用賦值符號,將dict1賦值給dict3
當dict1內容改變之後
發現dict3的內容也改變了!!!!
可是我想要的是買一份和他一樣的月餅,他的月餅吃完了,我的月餅也不能消失啊
以上的稱為淺複製
什麼是'淺'?
可以這樣理解,‘淺’指的是,複製的只是一個引用,還記得我們之前說的id()麼
id( ) 的作用是找到變數或常量在記憶體中存的位置,發現dict1和dict3的id一樣
所以得出他們雖然是兩個變數,但是變數的值是同一個
也就是說,桌上有一盒月餅,可以說是我的,也可以說是你的
你吃了一塊
月餅少了一塊
所以我的月餅少了一塊
因為這是我們共有的月餅
所以淺複製示意圖是:
不同的變數名指向了同一個記憶體區域塊
相對應
在字典中,深拷貝可以用引入copy模組實現
這就實現了深拷貝!每人都有一份各自的月餅
今天作業是自己跟著操作一遍~
自己不敲程式碼永遠學不會寫程式碼
下課
有需要Python學習資料的小夥伴嗎?小編整理一套Python資料和PDF,感興趣者可以加學習群:548377875,反正閒著也是閒著呢,不如學點東西啦~~
人生苦短,我選Python
未完待續,連載中......