月薪過萬的Python程式設計師教你Python必會系列

使用元組

Python 的元組與列表類似,不同之處在於元組的元素不能修改,在前面的代碼中我們已經不止一次使用過元組了。顧名思義,我們把多個元素組合到一起就形成了一個元組,所以它和列表一樣可以保存多條數據。下面的代碼演示瞭如何定義和使用元組。

月薪過萬的Python程序員教你Python必會系列

這裡有一個非常值得探討的問題,我們已經有了列表這種數據結構,為什麼還需要元組這樣的類型呢?

元組中的元素是無法修改的,事實上我們在項目中尤其是多線程環境(後面會講到)中可能更喜歡使用的是那些不變對象(一方面因為對象狀態不能修改,所以可以避免由此引起的不必要的程序錯誤,簡單的說就是一個不變的對象要比可變的對象更加容易維護;另一方面因為沒有任何一個線程能夠修改不變對象的內部狀態,一個不變對象自動就是線程安全的,這樣就可以省掉處理同步化的開銷。一個不變對象可以方便的被共享訪問)。所以結論就是:如果不需要對元素進行添加、刪除、修改的時候,可以考慮使用元組,當然如果一個方法要返回多個值,使用元組也是不錯的選擇。 元組在創建時間和佔用的空間上面都優於列表。我們可以使用sys模塊的getsizeof函數來檢查存儲同樣的元素的元組和列表各自佔用了多少內存空間,這個很容易做到。我們也可以在ipython中使用魔法指令%timeit來分析創建同樣內容的元組和列表所花費的時間,下圖是我的macOS系統上測試的結果。

月薪過萬的Python程序員教你Python必會系列

使用集合

Python中的集合跟數學上的集合是一致的,不允許有重複元素,而且可以進行交集、並集、差集等運算。

月薪過萬的Python程序員教你Python必會系列

月薪過萬的Python程序員教你Python必會系列

使用字典

字典是另一種可變容器模型,類似於我們生活中使用的字典,它可以存儲任意類型對象,與列表、集合不同的是,字典的每個元素都是由一個鍵和一個值組成的“鍵值對”,鍵和值通過冒號分開。下面的代碼演示瞭如何定義和使用字典。

月薪過萬的Python程序員教你Python必會系列

文章下方評論“源碼”即可獲得.py文件的系列源碼

月薪過萬的Python程序員教你Python必會系列


分享到:


相關文章: