序列跟數學中的數列相對應,它是壹串有序的元素向量,可以通過下標索引找到序列中的某個元素。例如,可以把壹所學校看作壹個序列,那麽學校裏的每間教室都可以看作這個序列中的元素。而教室號就相當於索引,可以通過教室號找到相應的教室。在實際應用中,序列類型比集合類型有更高的使用頻率。
序列常用的操作符和函數如下。
· s[i]:索引,返回序列s中的第i個元素,i是序列的序號。
· s[i:j:k]:切片,返回序列s中從i到j以k為步長的子序列(s[::-1]表示序列取反)。
·s+t:連續兩個序列s和t相加。
·s*n或n*s:復制序列n次。
· x (not)in s:如果x(不是)是序列中的元素,則返回True;否則返回False。
· len(s):返回序列s的長度。
· min(s):返回序列s中的最小元素,s中的元素應該可以比較;如果元素不可以比較,則會報錯。
· max(s):返回序列s中的最大元素,s中的元素應該可以比較;如果元素不可以比較,則會報錯。
· s.index(x)/s.index(x,i,j):返回序列s中從i到j第壹次出現元素x的位置。
· s.count(x):返回序列s中出現元素x的總次數。
序列中的序號又叫索引(Indexing),這個索引可以是從左向右計數的,即從0開始遞增,如A[0]~A[5];也可以是從右向左計數的,即從-1開始遞減,如A[-6]~A[-1]。
註意
在采用負數作為索引下標時,是從-1開始的,而不是從0開始的,即最後壹個元素的下標為-1,這是為了防止與第壹個元素重合。
切片(Slicing)操作針對的對象是序列中的元素,它訪問的不僅僅是單個的個體元素,而是在壹定範圍內的元素。通過切片操作可以生成壹個新的序列。它的使用格式在前面已經有所提及,即s[i:j:k]。其中,s代表序列的名稱;i表示切片的開始位置(包括該位置),如果不指定,則默認為0;j表示切片的截止位置(不包括該位置),如果不指定,則默認為序列的長度;k表示切片的步長,如果省略,則默認為1。當省略步長參數時,最後壹個冒號也可以省略。