python教程 列表list操作

2021-09-12 07:03:23 字數 3547 閱讀 8082

二、列表的增刪改查

list1 = #建立乙個空列表

list2 = [1, 2, 3, 4, 5, -1] #建立乙個數字型列表

list3 = [「a」, 「q」, 「w」, 「s」, 「d」, 「f」, 「e」] #建立乙個字元型列表

list4 = [「how」, 「are」, 「you」, 「i am」, 「find」, 「thank」, 「you」] #建立乙個字串型列表

list5 = [1, 「a」, 「hello」, 「?」, list1, list4] #建立乙個混合資料型別列表,列表元素可以是任意型別,包括列表型別

這幾種建立列表的方式都是正確的,即列表中元素的資料型別不一定要相同。

value = list3[3] #依據索引查詢元素的值,序列的索引從0開始,因此[3]實際上是第四個值,value等於s

list4[2] = 「you ?」 #將列表list4中索引位2(第三個元素)的值修改為「you ?」

listnum = [1, 2, 3]

listnum這個列表中就變成四個元素了,例如:

2、刪除

刪除列表中的元素有幾種不同的方法

del命令

del命令可以刪除列表中的某乙個元素或者整個列表

del listnum[2] #刪除列表中索引為2的元素

del listnum #刪除整個列表

pop命令

pop命令刪除列表中的最後乙個元素並返回列表中的值

listnum = [1, 2, 3, 4]

value = listnum.pop() #最後乙個元素將被刪除,並返回刪除的元素的值4。

remove命令

刪除列表中第乙個匹配的值

listnum = [1, 2, 3, 4, 2]

listnum.remove(2) #第乙個2將被刪除,列表成為了[1, 3, 4, 2]

3、改重新賦值

listnum = [1, 2, 3]

listnum = [「aaa」, 「bbb」, 「ddd」] #給列表重新賦值

修改元素

可以通過索引來單獨修改列表中某個元素的值

listnum[2] = 4 #列表中索引為2的元素的值將被修改為4

4、查通過索引來找值

value = listnum[2] #查詢索引為2的元素的值,索引號放在方括號裡。

通過值來找索引

index_num = listnum.index(3) #通過索引自帶的index()方法招到匹配的第乙個元素的索引

判斷是否存在某個值

listnum = [1, 2, 3]

3 in listnum #判斷列表listnum中是否有3這個值,如果有返回true, 如果沒有返回false

result = 3 in listnum #將判斷結果返回給乙個值

三、列表的切片操作

切片就是提取序列的一部分,切片通過索引來實現。

1、通過索引切片

通過索引切片,也就是按照從0到1、2、3直到n-1的索引進行切片,例如:

listname = [「i」, 「am」, 「a」, 「pupil」, 「.」]

擷取索引2和索引3的元素:

list34 = listname[2:4]

注:通過索引進行切片時,切片中的第乙個索引代表切片後開始的第乙個索引,最後乙個索引代表切片後剩餘元素開始的第乙個索引,即切取的片段不包含最後乙個索引的元素,檢視效果:

切片的長度等於前後索引的相減。

如果後面的索引越界(超過列表的最大索引),則擷取從切片開始向後的所有元素:

2、通過帶負值的索引切片

我們知道列表中的元素不僅可以從前向後按照0、1、2、3…n-1的方式設定索引,也可以按照從後向前的順序按照-1, -2, -3…-n的方式設定索引,因此,列表中切片的索引也可以包含負值,只需要第二個索引所代表的元素位於第乙個索引代表的元素的後面即可,例如:

3、通過步長切片

切片不僅可以切取連續的序列,也可以每隔幾個元素切取乙個元素,這個間隔的數字就是步長。在使用步長切片時步長的長度值寫到最後即可,例如listname[0:9:2],檢視示例:

即使你將切片的結束元素寫成列表的結束元素,依然不會切取列表的最後乙個元素,此時我們可以將切片結束元素(切片的第二個值)的索引設定為空,或者寫上大於切片長度的值即可。如listname[1::2]或listname[1:20:2]

4、從後向前(從右向左)切片

不設定步長是不可能從右向左切片的,如果將步長設定為負值,則可以實現從右向左的切片

總結:步長為正數,從左向右且,步長為負數,從右向左切

四、列表的加減乘運算

1、列表的加法

列表的加法非常簡單,只需要將列表前後相連組成乙個新列表即可

list1 = [1, 2, 3]

list2 = [a, b, c]

listnew = list1 + list2 #listnew的值是[1, 2, 3, a, b, c]

2、列表的減法

列表之間實際上是能夠做減法的,只是這種減法需要用到集合的知識,如果你還不了解集合,先看一下集合的基本概念吧

[i for i in list1 if i not in list2]

列表的減法

3、列表的乘法

列表的乘法非常簡單,只需要讓列表乘以某個數字,列表就會重複很多次

listhello = [「hello」, 「你好」]

listh3 = listhello * 3 #listhello 的值就是[「hello」, 「你好」, 「hello」, 「你好」, 「hello」, 「你好」]

二、高階用法

1、巢狀列表

列表中的元素可以是任何合法的資料型別,當然元素的型別也可以是列表,也就是巢狀列表,巢狀列表在人工智慧的計算中使用較多,熟練掌握後也非常簡單。例如:

mat = [[2, 3, 4, 5], [6, 7]] #這個列表中包含兩個元素,每個元素又是乙個列表

實際上更常用的方式是永列表定義列表,例如這樣:

a = [2, 3, 4, 5]

b = [6, 7]

mat = [a, b] #這實際上定義了乙個兩行四列的矩陣,其中第二行的第三列和第四列的值為none,也就是沒有、不存在的意思。

好,學完了列表,咱們來看一下python的元組操作

python的列表list和集合set操作

以下是一些python的list和set的基本操作 1.list的一些操作 list 1,2,3 print list list.extend 7,8 extend是將可迭代物件的元素依次加入列表 print list print list list.reverse 元素翻轉,注意不能將這個操作賦給...

python的列表list和集合set操作

以下是一些python的list和set的基本操作 1.list的一些操作 list 1,2,3 print list list.extend 7,8 extend是將可迭代物件的元素依次加入列表 print list print list list.reverse 元素翻轉,注意不能將這個操作賦給...

Python教程系列(5) 列表LIST

list列表 片段 python中列表 練習 建立列表名list的列表資訊 list liuhao 27,heilongjiang 列印列表所有資料 print list 列印第乙個列表資訊 print list 0 列印列表中第二個資料 print list 1 列印列表倒數第乙個資料 print...