二、元組(Tuple)
元組是能夠保存任意數目的任意Python 對象的容器。元組通過在圓括號中放置逗號分隔的Python對象來創建,創建完成后就不可以更改。一個空的元組可以由空的一對括號形成。如果確實想得到一個元祖,只要在關閉圓括號之前加上一個逗號就可以了。作為特殊情況,在不會引起語法沖突的情況下,Python允許忽略元組的圓括號。雖然元組是被定義成不可變的,但這并不影響它的靈活性。元組的不可變性提供了某種完整性。這樣你可以確保元組在程序中不會被另一個引用修改,而列表就沒有這樣的保證了。
注意: 可以使用圓括號創建空的元組,但是無法使用圓括號創建單一元素的元組。因為圓括號也被用作分組操作符,由圓括號包裹的一個單一元素首先被作為分組操作,而不是作為元組的分界符。一個變通的方法是在第一個元素后面添一個逗號(,)來表明這是一個元組而不是在做分組操作。
1、默認集合類型
所有的多對象的,逗號分隔的,沒有明確用符號定義的(比如說像用方括號表示列表和用圓括號表示元組一樣)等等,這些集合默認的類型都是元組。2、元組內建方法
(1)返回元素的位置
(2)返回元素的個數
三、列表(List)
列表是能夠保存任意數目、任意類型的Python對象的位置相關的有序集合。列表所包含的每一項都保持了從左到右的位置順序。列表沒有固定的大小,其大小是可變的,因為列表是可變的,所以它支持原處修改的操作。當你在原處修改一個列表時,可能會影響一個以上指向他的引用。列表通過在方括號中放置逗號分隔的Python對象來創建。(注意,一般不會需要創建長度為0或1的列表)
列表和元組有幾處重要的區別。列表元素用中括號([ ])包裹,元素的個數及元素的值可以改變。元組元素用小括號(( ))包裹,本身不可以更改(盡管他們的內容可以)。元組可以看成是只讀的列表。
超出列表末尾之外的索引會導致錯誤,對列表末尾范圍之外賦值也同樣會導致錯誤。
Python的核心數據類型的一個優秀的特性就是他們支持任意的嵌套。能夠以任意的組合對其進行嵌套,并可以多個層次就行嵌套。
1、列表解析表達式
處理序列的操作和列表的方法中,Python還包括了一個更高級的操作:列表解析表達式。它提供了一種處理像矩陣這樣結構的強大工具。列表解析表達式是一種通過對序列中的每一項運行一個表達式來創建一個新列表的方法。列表解析式編寫在方括號中的(提醒你在創建列表這個事實),并且由使用了同一個變量名的(這里是row)表達式和循環結構組成。2、常用列表內建方法
因為列表是可變的,大多數列表的方法都會就地改變主體列表對象,而不是創建一個新的列表。
(1)拷貝
list.copy() 為淺copy,列表中的列表在 copy 的時候只 copy 列表中保存的地址,即默認為淺copy。
列表的直接賦值會直接把列表對象的地址賦值給變量。
要使用深copy,需要導入 copy 模塊,調用 copy.deepcopy() 方法。具體的深淺copy的介紹會在下一章《序列類型操作》中詳細介紹。
(2)將列表的首尾顛倒
list.reverse()
原地翻轉列表
(3)排序
list.sort(func=None,key=None, reverse=False)
以指定的方式排序列表中的成員,如果 func 和 key 參數指定,則按照指定的方式比較各個元素,如果 reverse 標志被置為True,則列表以反序排列。
(4)列表的元素個數
(5)在列表的最后追加列表
list.extend(seq)
把序列 seq 的內容添加到列表中
(6) 彈出最后一個元素
list.pop(index=-1)
刪除并返回指定位置的對象,默認是最后一個對象
(7)在列表的最后追加一個元素
list.append(obj)
向列表中添加一個對象 obj
(8)返回列表中指定元素的序列下標
list.index(obj, i=0, j=len(list))
返回 list[k] == obj 的 k 值,并且 k 的范圍在 i<=k<j;否則引發 ValueError 異常。
(9)返回列表中指定元素的個數
***list.count(obj) ***
返回一個對象 obj 在列表中出現的次數
(10)刪除列表中的指定元素
list.remove(obj)
從列表中刪除對象 obj
(11)在制定位置插入指定的元素
list.insert(index, obj)
在索引量為 index 的位置插入對象 obj。
(12)清空列表
《Python基礎手冊》系列:
Python基礎手冊 1 —— Python語言介紹
Python基礎手冊 2 —— Python 環境搭建(Linux)
Python基礎手冊 3 —— Python解釋器
Python基礎手冊 4 —— 文本結構
Python基礎手冊 5 —— 標識符和關鍵字
Python基礎手冊 6 —— 操作符
Python基礎手冊 7 —— 內建函數
Python基礎手冊 8 —— Python對象
Python基礎手冊 9 —— 數字類型
Python基礎手冊10 —— 序列(字符串)
Python基礎手冊11 —— 序列(元組&列表)
Python基礎手冊12 —— 序列(類型操作)
Python基礎手冊13 —— 映射(字典)
Python基礎手冊14 —— 集合
Python基礎手冊15 —— 解析
Python基礎手冊16 —— 文件
Python基礎手冊17 —— 簡單語句
Python基礎手冊18 —— 復合語句(流程控制語句)
Python基礎手冊19 —— 迭代器
Python基礎手冊20 —— 生成器
Python基礎手冊21 —— 函數的定義
Python基礎手冊22 —— 函數的參數
Python基礎手冊23 —— 函數的調用
Python基礎手冊24 —— 函數中變量的作用域
Python基礎手冊25 —— 裝飾器
Python基礎手冊26 —— 錯誤 & 異常
Python基礎手冊27 —— 模塊
Python基礎手冊28 —— 模塊的高級概念
Python基礎手冊29 —— 包
`