Python知識點3 列表操作

2021-10-04 18:56:49 字數 4115 閱讀 3190

for迴圈

1.for迴圈遍歷列表

這三行**中,for迴圈會依次讀取列表中的元素,並儲存到迴圈變數char中,最後列印

注意點1.迴圈變數名稱最好和列表名稱呈現單複數關係,比如char 和 chars、cat和cats等,便於識別(只是個命名規範)

2.迴圈語句最後的那個冒號(:)不能省

2.range()函式

range()函式的列印範圍是左閉右開(從第乙個數開始列印,列印到第二個數時停止,不包括第二個數)

3.用list()和range()函式建立數字型列表

range()函式還可以指定步長,比如,列印0-10中的所有偶數

print(list(range(0,12,2)))
range(0,12,2)從0開始,然後不斷+2,直到大於等於12為止,同樣左閉右開

生成偶數平方的列表,同時列印最值和列表總和

squares=

for square in range(0,11,2):

print(squares, min(squares), max(squares), sum(squares))

上述**用了三行生成了乙個列表,如果用列表解析式的話,只需要一行

squares1=[value**2 for value in range(0,11,2)]

print(squares1)

for value in range(0,11,2)將迴圈變數提供給value**2, 從而生成squares1

切片

切片就是列表元素中的一部分

print(squares1[:]])#列印出所有列表元素

print(squares1[0:3])#列印出索引為0,1,2的三個元素,不包括3

print(squares1[1:4])#列印出索引為1,2,3的三個元素,不包括4

print(squares1[:4])#從頭列印出列表元素,不包括索引4

print(squares1[2:])#從索引2的元素列印到最後

print(squares1[-3:])#從倒數第三個元素列印到最後

print(squares1[:-2])#從頭列印到倒數第三個元素,不包括倒數第2個元素

print(squares1[0:3:2])#從零不斷+2列印元素,直到大於等於三為止(不包括索引為3的元素)

print(squares1[1:4:2])

print(squares1[:4:2])#從零不斷+2列印元素,直到大於等於4為止(不包括索引為4的元素)

print(squares1[2::2])#從2不斷+2列印元素,如果最後乙個元素不被跳過,列印,否則不列印

print(squares1[-3::2])#從倒數第三個元素不斷+2列印元素,如果最後乙個元素不被跳過,列印,否則不列印

print(squares1[:-2:2])#從零不斷+2列印元素,直到大於等於倒數第二個元素的索引為止(不包括倒數第二個的元素)

其實通過實驗可以發現,切片的性質和range函式非常類似,都是左閉右開(如果冒號兩邊都有數字,不包含冒號右邊索引所代表的元素)

新增步長之後,性質也和range是一樣的,不斷+步長,直到大於等於冒號右邊的索引為止(不包括索引所表示的元素)

遍歷切片

切片雖然是列表的一部分,但是也是列表,所以就能遍歷,也能用列表解析式生成新的列表

列表的複製列表的複製有兩種方式,第一種是使用切片賦值,第二種是使用列表名稱賦值,兩種方式的區別在哪?

從上面的結果上來看,我們看不出任何卻別,但是,當我們修改newlist或newlist2中的元素時,情況發生了變化

此時,無論修改newlist2和newlist中的哪乙個,newlist2和newlist都同時發生了變化,而newlist1沒有任何變化

所以當使用原來列表的切片來將整個列表複製到乙個新的列表的時,新的列表是原來列表的副本,新的列表和原來列表值雖然相同,但是是兩個不同的列表,不同的變數

但是,當使用列表名來複製整個列表到乙個新的列表時,兩個列表名都指向同乙個列表,所以,當修改其中乙個的列表時,另乙個列表也跟著被修改

元組

元組和列表只有兩點不同:

1,元組使用的是小括號()括起來,而列表使用的是中括號。

2,元組中的元素不能被修改,列表可以。

ts=(1,2,3,4,5)

print(ts)

ts[2]=10

當修改元組中的元素時,會報錯

雖然元組中的元素不能被修改,但是元組可以被整體修改(重新賦值)

ts變數被重新賦值成其他元組

Python知識點2 列表基礎

列表 1.列表與訪問 用方括號括起來的就是列表,並且用逗號分割其中的元素 類似於c語言中的陣列,採用下標方式進行訪問,索引從0開始 l a b c d print l,l 0 l 2 2.從後往前訪問元素 print l 1 l 2 l 3 l 4 可以把下表寫成 1來訪問列表中的最後乙個元素,同理...

python1 1列表知識點

定義列表 a 1,2,3,4,5,6,7,hello world 列表索引從0開始,指定位置提取元素 print a 3 print a 列表的正向切片,不包括 4 位置資料 print a 0 4 列表的逆行向切片,不包括 1 位置資料 print a 4 1 指定位置插入元素 第一種方法 a 3...

python列表知識點總結

list1 1,2,3,string 1,2,3 索引 print list1 3 print list1 3 2 切片 print list1 0 5 2 print list1 1 str1 1,2,3,string 1,2,3 insert 在列表中插入元素 print list1.inser...