資料結構是以某種方式(如通過編號)組合起來的資料元素(如數、字元乃至其他資料結構)的集合。python中常見的資料結構可以統稱為容器(container)。序列(如字串、列表和元組)、對映(如字典)以及集合(set)是三類主要的容器。在python中,最基本的資料結構為序列(sequence)。
序列中,每個元素都有屬於自己的編號(索引)。從起始元素開始,索引值從0開始遞增,如下圖所示。
除此之外,python 還支援索引值是負數,此類索引是從右向左計數,換句話說,從最後乙個元素開始計數,從索引值 -1 開始,如下圖所示。
注意:切片操作是訪問序列中元素的另一種方法,它可以訪問一定範圍內的元素,通過切片操作,可以生成乙個新的序列。
序列實現切片操作的語法格式如下:
sname[start : end : step]
其中,各個引數的含義分別是:
python 中,支援兩種型別相同的序列使用「+」運算子做相加操作,它會將兩個序列進行連線,但不會去除重複的元素。
這裡所說的「型別相同」,指的是「+」運算子的兩側序列要麼都是列表型別,要麼都是元組型別,要麼都是字串。
python 中,使用數字 n 乘以乙個序列會生成新的序列,其內容為原來序列被重複 n 次的結果。
python 中,可以使用 in 關鍵字檢查某元素是否為序列的成員,返回值為布林值。其語法格式為:
value in sequence
其中,value 表示要檢查的元素,sequence 表示指定的序列。
和 in 關鍵字用法相同,但功能恰好相反的,還有 not in 關鍵字,它用法檢查某個元素是否不包含在指定的序列中,其語法格式為:
value not in sequence
python提供了幾個內建函式(如下表所示),可用於實現與序列相關的一些常用操作。
函式功能
len()
計算序列的長度,即返回序列中包含多少個元素。
max()
找出序列中的最大元素。注意,對序列使用 sum() 函式時,做加和操作的必須都是數字,不能是字元或字串,否則該函式將丟擲異常,因為直譯器無法判定是要做連線操作(+ 運算子可以連線兩個序列),還是做加和操作。
min()
找出序列中的最小元素。
list()
將序列轉換為列表。
tuple()
將序列轉換為元組。
str()
將序列轉換為字串。
sum()
計算元素和。
sorted()
對元素進行排序。
reversed()
反向序列中的元素。
enumerate()
將序列組合為乙個索引序列,多用在 for 迴圈中。
zip()
返回由各個引數的序列組成的元組。
序列的通用操作及內建函式在後面進行詳細舉例。
推薦閱讀:
【python基礎】關於字元編碼(ascii,gb2312,unicode,utf-8,utf-16,utf-32),有這一篇就夠了!
【python基礎】05.python基本資料型別之數字
【python基礎】04.運算子(超詳細)
【python基礎】03.基本概念(表示式、語句等)以及識別符號和關鍵字
【python基礎】02.python環境搭建以及pycharm的安裝和配置
【python基礎】01.python簡介
計算機與程式設計基礎知識
未完待續…
Python基礎03 序列
資料型別 sequence 序列 1.sequence 序列 是一組有順序的元素的集合 嚴格的說,是物件的集合,但鑑於我們還沒有引入 物件 概念,暫時說元素 序列可以包含乙個或多個元素,也可以是乙個沒有任何元素的空序列 元素可以是我們之前所說的基本資料型別,可以是另乙個序列,還可以是我們以後介紹的其...
Python基礎03 序列
謝謝thunder424糾錯 sequence 序列 是一組有順序的元素的集合 嚴格的說,是物件的集合,但鑑於我們還沒有引入 物件 概念,暫時說元素 序列可以包含乙個或多個元素,也可以沒有任何元素。我們之前所說的基本資料型別,都可以作為序列的元素。元素還可以是另乙個序列,以及我們以後要介紹的其他物件...
Python基礎03 序列
謝謝thunder424糾錯 sequence 序列 是一組有順序的元素的集合 嚴格的說,是物件的集合,但鑑於我們還沒有引入 物件 概念,暫時說元素 序列可以包含乙個或多個元素,也可以沒有任何元素。我們之前所說的基本資料型別,都可以作為序列的元素。元素還可以是另乙個序列,以及我們以後要介紹的其他物件...