日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python程序开发——第三章 列表与元组

發布時間:2024/2/28 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python程序开发——第三章 列表与元组 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 前言
  • 一、列表
    • (一)列表的創建
    • (二)訪問列表元素
    • (三)列表的增刪改
    • (四)列表的遍歷
    • (五)列表的排序
    • (六)列表的嵌套
  • 二、元組
    • (一)元組的創建
    • (二)訪問元組元素
    • (三)元組的連接組合和刪除


前言

由于列表和元組比較相似,所以放在一起總結,它們的區別在于元組和字符串一樣是不可修改的,而列表能夠被修改,字符串則不能。

一、列表

(一)列表的創建

在Python中有兩種方式可以創建列表。
1、第一種是可以通過使用中括號,即[]來創建列表,其中列表的元素使用逗號分隔開,其中字符串類型可以用單引號或雙引號都可以表示。
如下python代碼,列表a中元素的類型為字符串,列表c是一個空列表:

a = ["C", "S", "D", "N"] b = [1, 2, 3.5, 6.66] c = [] print(a) print(b) print(c)

運行結果如下:

2、第二種是可以通過內置函數list()來創建列表,要注意該內置函數必須要接收的參數是可迭代的。
如下python代碼,也可以在list()函數中通過[]來創建含多個元素的列表:

a = list("csdn") b = list("123456") c = list([1, 2, "python", "java"]) d = list() print(a) print(b) print(c) print(d)

運行結果如下:

可以通過range()函數生成一個數字范圍的對象,比如range(0,5)表示從0開始一直到4(不包括5),而range(0,5,2)的添加了一個參數,步長(間隔)變成2,該函數可與列表一起使用從而生成數字序列:

print(list(range(5))) print(list(range(0,5))) print(list(range(0,5,2)))#以列表形式輸出數字0至5但不包括5,步長為2 print(list(range(5,0,-1)))#以列表形式輸出數字5至0但不包括0,步長為1 print(list(range(5,0,-2)))#以列表形式輸出數字5至0但不包括0,步長為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代碼,通過正向、負向索引來訪問列表中的元素:

a = ["python", "java", "c", "c#", "c++"] print("使用索引來訪問列表中的元素:") print(a[2]) print(a[0]) print(a[-1])

運行結果如下:

2、切片,獲取列表中部分元素,從而得到一個新的列表,比如[1:3]它表示的是返回下標1至2的元素,而并不會返回下標為3的元素,如下python代碼,通過切片來訪問列表中部分元素,這里的print(a[:])輸出的是列表的所有元素:

a = ["python", "java", "c", "c#", "c++"] print("使用切片來訪問列表中的元素:") print(a[:])#輸出列表中的所有元素 print(a[::-1])#逆序輸出列表中的所有元素 print(a[:3])#輸出列表中索引為開頭至3的元素,但不包括3 print(a[3:])#輸出列表中索引為3至末尾的元素 print(a[1:3])#輸出列表中索引為1至3的元素,但不包括3 print(a[0:3:2])#輸出列表中從索引為0至3且步長為2的元素,但不包括3 print(a[0:3:1])#輸出列表中從索引為0至3且步長為1的元素,但不包括3 print(a[3:0:-1])#輸出列表中從索引為3至0且步長為1的元素,但不包括0 print(a[3:0:-2])#輸出列表中從索引為3至0且步長為2的元素,但不包括0

運行結果如下:

(三)列表的增刪改

1、添加列表元素,可以通過函數append()、extend()、insert()三個內置函數來添加列表新的列表元素。
(1)insert()函數用于將元素插入到列表的指定位置;
(2)append()函數用于在列表末尾添加新的元素;
(3)extend()函數用于在列表末尾添加另一個列表。
其示例如下python代碼:

a = ["python", "java"] a.insert(0, "c++") a.insert(-1, "c") print(a) b = ["1班", "2班"] b.append("3班") print(b) c1 = ["1班", "2班"] c2 = ["3班", "4班", "5班"] c1.extend(c2) print(c1)

運行結果如下:

2、刪除列表元素,可以通過del、remove()、pop()三種方法來刪除列表中的元素。
(1)del語句用于刪除列表中指定元素,可以使用索引或切片來指定要刪除的元素。
其示例如下python代碼:

a = ["python", "java", "c", "c++"] del a[0] print(a) del a[0:3:2] print(a)

運行結果如下:

(2)remove()函數用于刪除列表中指定元素,若有多個指定元素,則只刪除第一個相同的指定元素;
其示例如下python代碼:

b = ["python", "java", "c", "c++", "c"] b.remove("java") print(b) b.remove("c") print(b)

運行結果如下:

(3)pop()函數用于刪除列表中指定元素,可以通過索引來指定要刪除元素,若不指定,則只刪除該列表的末尾元素。
其示例如下python代碼:

c = [1, 2, 3, 4, 5] c.pop(0) print(c) c.pop() print(c)

運行結果如下:

3、修改列表元素,可以通過索引訪問元素并對該元素進行修改,即重新賦值該元素。
其示例如下python代碼:

a = ["python", "java", "c", "c++"] a[3] = "c#" print(a)

運行結果如下:

(四)列表的遍歷

由于列表是個可迭代對象,可以通過for循環來遍歷列表中的各元素。
例如下列Python代碼,通過for循環遍歷列表并依次輸出臨時變量:

a = ["Python", "CSS", "Java", "C++"] for i in a:print(i) b = [100, 200, 300] for l in b:print(l)

運行結果如下:

(五)列表的排序

可以通過sort()、sorted()、reverse()三種函數對列表進行排序,要注意排序后的列表將會替換原本的列表。
(1)sorted()函數用于將列表中的元素升序排序,例如下列python代碼:

a = ["20", "-1.2", "0", "1"] print(sorted(a))

運行結果如下:

(2)sort()函數有兩個參數,參數key指定排序規則,可以為列表支持的函數,而參數reverse指定列表元素排序的方式(默認值為False,表示升序排列,若reverse=True,則表示降序排列)。
例如下列Python代碼,列表a只設置了參數reverse,且reverse=True,表示將列表按降序排列;通過sort()函數對b列表設置參數key,且key=len,內置函數len()函數可以用于計算字符串的長度,這里根據字符串的字符長度進行排序,且參數key為默認值即升序排列:

a = ["20", "-1.2", "0", "1"] a.sort(reverse=True) print(a)b = ["python", "php", "c", "c#"] b.sort(key=len) print(b)

運行結果如下:

例如已知列表li_num1=[4,5,2,7,0,2]和li_num2=[3,6,-1],請將這兩個列表合并為一個列表,并將合并后的列表中的元素按照從小到大的順序排列,如下代碼,:

li_num1 = [4, 5, 2, 7, 0, 2] li_num2 = [3, 6, -1] li_num1.extend(li_num2) # 通過extend()函數在li_num1末尾插入li_num2列表 li_num1.sort() # 通過sort()函數將li_num1列表中的元素進行排序,由于未給參數即為升序排序 print(li_num1)

運行結果如下:

(3)reverse()函數用于將列表中的元素順序顛倒,注意這里的不是降序排序,而是將原來列表元素的順序顛倒過來。
例如,下列python代碼:

a = ["20", "-1.2", "0", "1"] a.reverse() print(a)

運行結果如下,可以發現列表中元素順序被顛倒:

(六)列表的嵌套

列表可以進行嵌套,即在一個列表中嵌套列表。
例如下列Python代碼,訪問嵌套列表中的值:

a = ["南區", "北區"] b = ["1班", "2班"] c = [a, b] print(c) print(c[0][-1]) print(c[-1][-1])

運行結果如下:

也可以向嵌套的內層列表中添加元素,首先要獲取內層列表,然后再添加,如下python代碼,向第一個列表中添加元素,且在內層列表的第一個:

a = ["南區", "北區"] b = ["1班", "2班"] c = [a, b] print(c) c[0].insert(0, "東區") print(c)

運行結果如下:

二、元組

(一)元組的創建

元組的創建方式也有兩種,元組的創建與列表差不多,相比列表,元組內的元素不允許修改。
1、第一種方式使用的是圓括號,即()來創建列表,元組內的元素也是使用逗號分隔開,字符串類型可以用單引號或雙引號都可以表示。
不過也可以不需要圓括號來創建元組,一般最好加上。
例如,下列Python代碼:

a = () b = ("b", "l", "u", "e") c = (1, 2, 3, 4, 5, 6) d = "第一", "第二", "第三", "第四" print(a, b, c, d)

運行結果如下:

注:當元組只包含一個元素時,也要在元素后面加上逗號,表示這是個元組。
2、第二種方式是通過tuple()函數來創建元組,該函數接收的元素是可迭代的,若函數內沒有值,則創建一個空元組。
例如,下列Python代碼,其中元組d中元組的元素為一個列表:

a = tuple() print(a) b = tuple("tooth") print(b) c = tuple("123456") print(c) d = tuple(["對", "錯"]) print(d)

運行結果如下:

(二)訪問元組元素

和列表一樣,也是可以通過索引和切片來訪問元組的元素,例如下列python代碼:

a = tuple("tooth") b = tuple("123456") print(a[0]) print(a[1]) print(b[2:5:1])

運行結果如下:

(三)元組的連接組合和刪除

1、由于元組中的元素是不能修改的,即每個元素的指向是永遠沒有改變的,除非元組中含有可變類型的數據,比如元組中的元素是一個列表時。
可以通過對元組連接組合,即將兩個元組組合在一起形成一個新的元組,例如下列python代碼:

a = tuple("語文") b = tuple("數學") c = a + b print(c)

運行結果如下:

例如給定一個元組num=(“p”,“y”,“t”,[“h”,“n”]),對元組內的列表添加“o”字符,首先通過索引元組,然后通過對元組中的列表進行insert()在指定位置插入字符“o”,下列python代碼:

num = ("p", "y", "t", ["h", "n"]) num[3].insert(1, "o") print(num)

運行結果如下:

2、雖然元組中的元素不能刪除,但是可以使用del語句來刪除整個元組,例如下列python代碼:

a = tuple("tooth") del a

總結

以上是生活随笔為你收集整理的Python程序开发——第三章 列表与元组的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。