1. 程式人生 > >Python從零開始系列連載(14)——Python特色資料型別(字典)(下)

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

未完待續,連載中......