Data Structures in Python (Python 的資料結構)
在說明 Python 的資料結構前,先來了解什麼是資料結構,底下節錄維基百科上的解釋:
『在電腦科學中,資料結構(英語:data structure)是電腦中儲存、組織資料的方式。資料結構意味著介面或封裝:一個資料結構可被視為兩個函式之間的介面,或者是由資料類型聯合組成的儲存內容的存取方法封裝。 大多數資料結構都由數列、記錄、可辨識聯合、參照等基本類型構成。』
舉例來說,生活上我們常常在排隊等結帳,先到的先結帳(先進先出),這個就是資料結構中的佇列。
而每種程式語言都有一些資料結構可以用,Python也不例外,從Python的官方文件可看到底下幾種:
1. Lists
下圖為 Lists 的示意圖
下圖為 Sequences 的示意圖
而 Tuples 就是可以含有很多的 Sequences,如下圖
3. Sets
下圖為 Sets 的示意圖,有交集、聯集、差集等關係。
4. Dictionaries
下圖為 Dictionareis 的示意圖:
能判斷什麼時候要用哪一種資料結構是程式設計時需要考慮的事情,考慮的觀點通常有: 以上三點沒有絕對的順序,例如當需要先進先出的動作時,選用已有支援 Queue 的程式語言(如Java、C#等)就可以不自己重新打造 Queue 的程式庫了,若講究效能時,用C\C++語言會是選擇之一。
參考資料:
[1]https://openhome.cc/Gossip/CodeData/PythonTutorial/ContainerFlowComprehensionPy3.html
Originally published at yunlinsong.blogspot.com on November 22, 2018.