所以這篇文章,我們先來回顧和總結Python數據結構裏常用操作。Python中常見的數據結構可以統稱為容器(container)。序列(如列表和元組)、映射(如字典)以及集合(set)是三類主要的容器。而扁平序列如str、bytes、bytearray、memoryview 和 array.array等不在這篇文章的討論範圍內。
在此,我們先從元組開始說起。
元組區別於列表的顯著特征之壹就是它不能被修改,但其另外壹個作用就是 用於沒有字段名的記錄 [1] 。因為後者經常被忽略,我們先來看看元組作為記錄的作用。
使用括號就可以定義壹個元組。元組中的每個元素都存放了記錄中壹個字段的數據,外加這個字段的位置。正是這個位置信息給數據賦予了意義。下面的例子中,元組就被當作記錄加以利用:
輸出為:
上述for循環中的操作提取了元組中的元素,也叫作拆包(unpacking)。平行賦值是對元組拆包很好的應用,示例如下:
還有壹個經典而優雅的應用是交換變量的值:
用 * 運算符把壹個可叠代對象拆開作為函數的參數,例如Python的內置函數pmod接收兩個數字類型的參數,返回商和余數。以下範例將使用 * 將元組傳入函數。
輸出為:
有些函數有多個返回值,將其賦給壹個變量時,變量類型即是元組:
輸出為:
zip是Python的內置函數,能夠接收兩個或多個序列,並組成壹個元組列表,在Python3中會返回壹個叠代器,如下所示:
輸出為:
元組當然也支持壹些常規操作,如對於元組 a = (1, 'y', 5, 5, 'x') :
上述內容不僅涵蓋了元組的基本操作,同時也結合了實際工作中常搭配使用的其他函數、運算符等。在回顧這些知識時主要參考了兩本經典的Python編程書籍:《流暢的Python》和《像計算機科學家壹樣思考Python》,有興趣的朋友可以深入閱讀!
希望這篇文章對妳有幫助,下回將總結Python列表的使用技巧。
[1]《流暢的Python》: /subject/27028517/