Python程序开发——第三章 列表与元组
目錄
- 前言
- 一、列表
- (一)列表的創建
- (二)訪問列表元素
- (三)列表的增刪改
- (四)列表的遍歷
- (五)列表的排序
- (六)列表的嵌套
- 二、元組
- (一)元組的創建
- (二)訪問元組元素
- (三)元組的連接組合和刪除
前言
由于列表和元組比較相似,所以放在一起總結,它們的區別在于元組和字符串一樣是不可修改的,而列表能夠被修改,字符串則不能。
一、列表
(一)列表的創建
在Python中有兩種方式可以創建列表。
1、第一種是可以通過使用中括號,即[]來創建列表,其中列表的元素使用逗號分隔開,其中字符串類型可以用單引號或雙引號都可以表示。
如下python代碼,列表a中元素的類型為字符串,列表c是一個空列表:
運行結果如下:
2、第二種是可以通過內置函數list()來創建列表,要注意該內置函數必須要接收的參數是可迭代的。
如下python代碼,也可以在list()函數中通過[]來創建含多個元素的列表:
運行結果如下:
可以通過range()函數生成一個數字范圍的對象,比如range(0,5)表示從0開始一直到4(不包括5),而range(0,5,2)的添加了一個參數,步長(間隔)變成2,該函數可與列表一起使用從而生成數字序列:
運行結果如下:
(二)訪問列表元素
可以通過索引和切片的方式訪問列表元素的值,這里的兩種方式與之前的字符串的索引和切片一樣,索引從0開始,都是可以獲取指定元素或部分元素,由于列表和字符串一樣,它們都是可迭代對象(后面講的元組、字典、集合也是一樣)。
例如列表a=["Python","Java","c","c#"],其正向索引和反向索引:
正向索引:Python對應0,Java對應1,c對應2,c#對應3
反向索引:c#對應-1,c對應-2,Java對應-3,Python對應-4。
1、索引,獲取列表中指定元素,如下python代碼,通過正向、負向索引來訪問列表中的元素:
運行結果如下:
2、切片,獲取列表中部分元素,從而得到一個新的列表,比如[1:3]它表示的是返回下標1至2的元素,而并不會返回下標為3的元素,如下python代碼,通過切片來訪問列表中部分元素,這里的print(a[:])輸出的是列表的所有元素:
運行結果如下:
(三)列表的增刪改
1、添加列表元素,可以通過函數append()、extend()、insert()三個內置函數來添加列表新的列表元素。
(1)insert()函數用于將元素插入到列表的指定位置;
(2)append()函數用于在列表末尾添加新的元素;
(3)extend()函數用于在列表末尾添加另一個列表。
其示例如下python代碼:
運行結果如下:
2、刪除列表元素,可以通過del、remove()、pop()三種方法來刪除列表中的元素。
(1)del語句用于刪除列表中指定元素,可以使用索引或切片來指定要刪除的元素。
其示例如下python代碼:
運行結果如下:
(2)remove()函數用于刪除列表中指定元素,若有多個指定元素,則只刪除第一個相同的指定元素;
其示例如下python代碼:
運行結果如下:
(3)pop()函數用于刪除列表中指定元素,可以通過索引來指定要刪除元素,若不指定,則只刪除該列表的末尾元素。
其示例如下python代碼:
運行結果如下:
3、修改列表元素,可以通過索引訪問元素并對該元素進行修改,即重新賦值該元素。
其示例如下python代碼:
運行結果如下:
(四)列表的遍歷
由于列表是個可迭代對象,可以通過for循環來遍歷列表中的各元素。
例如下列Python代碼,通過for循環遍歷列表并依次輸出臨時變量:
運行結果如下:
(五)列表的排序
可以通過sort()、sorted()、reverse()三種函數對列表進行排序,要注意排序后的列表將會替換原本的列表。
(1)sorted()函數用于將列表中的元素升序排序,例如下列python代碼:
運行結果如下:
(2)sort()函數有兩個參數,參數key指定排序規則,可以為列表支持的函數,而參數reverse指定列表元素排序的方式(默認值為False,表示升序排列,若reverse=True,則表示降序排列)。
例如下列Python代碼,列表a只設置了參數reverse,且reverse=True,表示將列表按降序排列;通過sort()函數對b列表設置參數key,且key=len,內置函數len()函數可以用于計算字符串的長度,這里根據字符串的字符長度進行排序,且參數key為默認值即升序排列:
運行結果如下:
例如已知列表li_num1=[4,5,2,7,0,2]和li_num2=[3,6,-1],請將這兩個列表合并為一個列表,并將合并后的列表中的元素按照從小到大的順序排列,如下代碼,:
運行結果如下:
(3)reverse()函數用于將列表中的元素順序顛倒,注意這里的不是降序排序,而是將原來列表元素的順序顛倒過來。
例如,下列python代碼:
運行結果如下,可以發現列表中元素順序被顛倒:
(六)列表的嵌套
列表可以進行嵌套,即在一個列表中嵌套列表。
例如下列Python代碼,訪問嵌套列表中的值:
運行結果如下:
也可以向嵌套的內層列表中添加元素,首先要獲取內層列表,然后再添加,如下python代碼,向第一個列表中添加元素,且在內層列表的第一個:
運行結果如下:
二、元組
(一)元組的創建
元組的創建方式也有兩種,元組的創建與列表差不多,相比列表,元組內的元素不允許修改。
1、第一種方式使用的是圓括號,即()來創建列表,元組內的元素也是使用逗號分隔開,字符串類型可以用單引號或雙引號都可以表示。
不過也可以不需要圓括號來創建元組,一般最好加上。
例如,下列Python代碼:
運行結果如下:
注:當元組只包含一個元素時,也要在元素后面加上逗號,表示這是個元組。
2、第二種方式是通過tuple()函數來創建元組,該函數接收的元素是可迭代的,若函數內沒有值,則創建一個空元組。
例如,下列Python代碼,其中元組d中元組的元素為一個列表:
運行結果如下:
(二)訪問元組元素
和列表一樣,也是可以通過索引和切片來訪問元組的元素,例如下列python代碼:
a = tuple("tooth") b = tuple("123456") print(a[0]) print(a[1]) print(b[2:5:1])運行結果如下:
(三)元組的連接組合和刪除
1、由于元組中的元素是不能修改的,即每個元素的指向是永遠沒有改變的,除非元組中含有可變類型的數據,比如元組中的元素是一個列表時。
可以通過對元組連接組合,即將兩個元組組合在一起形成一個新的元組,例如下列python代碼:
運行結果如下:
例如給定一個元組num=(“p”,“y”,“t”,[“h”,“n”]),對元組內的列表添加“o”字符,首先通過索引元組,然后通過對元組中的列表進行insert()在指定位置插入字符“o”,下列python代碼:
運行結果如下:
2、雖然元組中的元素不能刪除,但是可以使用del語句來刪除整個元組,例如下列python代碼:
總結
以上是生活随笔為你收集整理的Python程序开发——第三章 列表与元组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python程序开发——第二章 条件语句
- 下一篇: Python程序开发——第四章 字典与集