從零開始的Python計劃 #4.1 【序列:列表·元組】


今天也是努力的小周!寫Python真的是會上癮!三天訪問量破2000啦!再次謝謝各位!還有鼓勵我的朋友們!第四章內容有點多,所以會分開寫,4.2將會討論循環這個非常強大的功能,我會盡快在明天更新的!今天的知識也比較多,那就一起梳理吧wwww

一·序列的概率

序列:包含多個數據項的對象,這些項目按順序依次存儲。
Python提供了不同類型的序列,包括列表和元組,它們之間的區別在於列表是可變的,而元組是不可變的。

1)列表

是一個包含多個數據項的對象
元素:是列表中的單個項目

當我們初始化列表的時候可以用兩個方括號[ ]容納元素(格式:list=[item1 , item2 , etc.] 這是在Python中初始化list的方式,用逗號分隔項)

舉個例子:
在這裏插入圖片描述
even_number就不是一個包含單個數字的變量,而是包含了5個數字的列表
同樣,我們也可以擁有字符串列表,它們都被存儲在名爲color的列表中

Python可以容納項目有不同的類型我們也可以有一個混合類型的列表:


和變量相比,列表有些不同,它可以混合數據類型。

print功能可用於顯示整個列表

1·列表索引

索引:指定元素在列表中位置的數字
從0開始索引,假設列表中共有n個元素,那麼第一個元素的索引爲0,第二個元素爲1,第n個元素爲n-1
負索引標識相對於列表末尾的位置,索引-1標識最後一個元素,-2標識最後一個元素的前一個

在這裏插入圖片描述

必須使用有效索引以防止引發索引器錯誤異常

列表是可變的,因此它們的元素可以更改。
如:

這裏就是把green替換成了black
在這裏插入圖片描述

2·列表連接

+運算符可用於連接兩個列表

例子:
在這裏插入圖片描述

無法將列表與其他數據類型連接,就像我們不能說字符串+整數那樣,我們必須把數字轉換成字符才能一起連接輸出,這是類似的概念

如下圖所示例,Python會抱怨list只能和list連接在這裏插入圖片描述
在這裏插入圖片描述

3·列表切片

切片:從序列中提取的項目範圍
格式:list[start : end] ,start和end定義切片的範圍(就是我想從該列表中取用的元素範圍)
也就是所謂的跨度(Span),是一個包含從開始但不包含最後一個元素副本的列表

舉些例子來使我們更好理解:

設置一個列表:
在這裏插入圖片描述

如果未指定開始,則將0用於開始索引

在這裏插入圖片描述
到位置2結束,但不包括2元素

取跨度就相當於我們數學中的開閉區間,start是閉區間,而end是開區間。

取位置3到位置7但是不包括第七個位置的元素,在這裏插入圖片描述

如果未指定結束,結果就會取到最後。

從位置5取到最後一個位置7在這裏插入圖片描述

還有件神奇的事情,如果我們要取的範圍大於原來僅有的位置,Python並不會給我們拋出錯誤

列表中的位置是0-7,但是我們取到8並不會發生錯誤
在這裏插入圖片描述

這是因爲8在切片中不被考慮,8-1會被認爲是最後一個元素,因爲8-1=7,對應的black是現有存在的索引。

4·列表運算

(1)in 運算符

可以使用in運算符確定列表中是否包含項目
格式:item in list

如果項在列表中,則返回True;如果項不在列表中,則返回False

例:
定義一個函數來取顏色,並檢查某個顏色是否在列表中
在這裏插入圖片描述
在這裏插入圖片描述

同樣,也可以使用not in 運算符來確定項目是否不在列表中
通過in 和not in 就可以達到目的,就像簡單的英語一樣。

(2)重複運算符

生成列表的多個副本並將它們連接在一起
符號*在應用於序列和整數時是一個重複運算符
序列是左操作數,數字是右操作數

通用格式:list*n

例:在這裏插入圖片描述

(3)函數方法列表運算

列表可以用辦法和函數去做具體的操作運算

append

append(項 )–將項添加到列表的末尾

例:
在這裏插入圖片描述
需要.append()," "是用來調用函數的

index

index( 項)-返回值等於項的第一個元素的索引(就是找位置)。如果在列表中找不到項,則會引發 A ValueError異常。

例:在這裏插入圖片描述
會返還結果2blue在colors中的索引位置是2

它不只告訴我們這個元素在列表的位置,還告訴我們它是否在列表存在,在去取出和查找,使用元素都非常有用。

remove

移除
remove(項)–從列表中移除第一個出現的項目。如果在列表中找不到項,則會引發A ValueErrorexception的錯誤
注意是第一次出現的,所以如果有同一項目中重複的元素,它將只返回第一個

例:
在這裏插入圖片描述

所以remove函數會從列表中移除一個指定元素,它不是刪除不會留下刪除元素的空位,它會連接被移除元素的兩邊從而創建一個新列表

reverse

(相反)reverse:反轉列表中項目的順序

例:
繼續使用上面的列表在這裏插入圖片描述

列表元素順序反轉

2)元組

一個不可變的序列,非常類似於一個列表,一旦創建它就不能更改
格式:tuple_name = (item1, item2,…)
元組支持與列表相同的操作:可以做索引,切片表達式,len(元素數量),,min(最小元素),max(最大元素)…
但是一旦設置好了,我們就不能改變它的內容了:

在這裏插入圖片描述
Python是從0開始計數的,所以red對應的是1
看起來很像列表,但不是列表用的方括號
因爲元組中內容不能被改變,所以如上面所例Python會拋出錯誤

這樣對比下來,也許你會覺得使用元組是沒有好處的,但是它的確有更好的作用:(1)處理元組比處理列表快,因爲解釋器和處理器不需要準備去改變值 (2)使用更加安全,因爲內容不能被改變,一旦我們存儲起來,它們不會因意外而被重新分配

3)元組與列表的相互轉換

這和之前的數據類型轉換很相似,list():將元組轉換爲列表,
tuple():將列表轉換爲元組。

在我們需要一份更安全的列表或是我們想要改變元組中的元素都可以用到
例:

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章