網(wǎng)站建設(shè) 駿域網(wǎng)絡(luò)建設(shè)專(zhuān)家廣州推廣策劃方案怎么做
在Python
中,序列類(lèi)型包括字符串、列表、元組、集合和字典,這些序列支持以下幾種通用的操作,但比較特殊的是,集合和字典不支持索引、切片、相加和相乘操作。
字符串也是一種常見(jiàn)的序列,它也可以直接通過(guò)索引訪問(wèn)字符串內(nèi)的字符。
序列索引
序列中,每個(gè)元素都有屬于自己的編號(hào)(索引)。從起始元素開(kāi)始,索引值從 0 開(kāi)始遞增,如圖 1 所示。
除此之外,Python 還支持索引值是負(fù)數(shù),此類(lèi)索引是從右向左計(jì)數(shù),換句話說(shuō),從最后一個(gè)元素開(kāi)始計(jì)數(shù),從索引值 -1 開(kāi)始,如圖 2 所示。
注意,在使用負(fù)值作為列序中各元素的索引值時(shí),是從 -1 開(kāi)始,而不是從 0 開(kāi)始。
使用如下的代碼:
str="C語(yǔ)言中文網(wǎng)"
print(str[0],"==",str[-6])
print(str[5],"==",str[-1])
輸出結(jié)果為:
C == C
網(wǎng) == 網(wǎng)
序列切片
切片操作是訪問(wèn)序列中元素的另一種方法,它可以訪問(wèn)一定范圍內(nèi)的元素,通過(guò)切片操作,可以生成一個(gè)新的序列。
序列實(shí)現(xiàn)切片操作的語(yǔ)法格式如下:
sname[start : end : step]
其中,各個(gè)參數(shù)的含義分別是:
sname
:表示序列的名稱(chēng);start
:表示切片的開(kāi)始索引位置(包括該位置),此參數(shù)也可以不指定,會(huì)默認(rèn)為 0,也就是從序列的開(kāi)頭進(jìn)行切片;end
:表示切片的結(jié)束索引位置(不包括該位置),如果不指定,則默認(rèn)為序列的長(zhǎng)度;step
:表示在切片過(guò)程中,隔幾個(gè)存儲(chǔ)位置(包含當(dāng)前位置)取一次元素,也就是說(shuō),如果step
的值大于 1,則在進(jìn)行切片去序列元素時(shí),會(huì)“跳躍式”的取元素。如果省略設(shè)置step
的值,則最后一個(gè)冒號(hào)就可以省略。
對(duì)字符串“C語(yǔ)言中文網(wǎng)”進(jìn)行切片:
str="C語(yǔ)言中文網(wǎng)"
#取索引區(qū)間為[0,2]之間(不包括索引2處的字符)的字符串
print(str[:2])
#隔 1 個(gè)字符取一個(gè)字符,區(qū)間是整個(gè)字符串
print(str[::2])
#取整個(gè)字符串,此時(shí) [] 中只需一個(gè)冒號(hào)即可
print(str[:])
運(yùn)行結(jié)果為:
C語(yǔ)
C言文
C語(yǔ)言中文網(wǎng)
序列相加
Python
中,支持兩種類(lèi)型相同的序列使用“+”運(yùn)算符做相加操作,它會(huì)將兩個(gè)序列進(jìn)行連接,但不會(huì)去除重復(fù)的元素。
這里所說(shuō)的“類(lèi)型相同”,指的是“+”運(yùn)算符的兩側(cè)序列要么都是序列類(lèi)型,要么都是元組類(lèi)型,要么都是字符串。
用“+”運(yùn)算符連接 2 個(gè)(甚至多個(gè))字符串,如下所示:
str="c.biancheng.net"
print("C語(yǔ)言"+"中文網(wǎng):"+str)
輸出結(jié)果為:
C語(yǔ)言中文網(wǎng):c.biancheng.net
序列相乘
Python
中,使用數(shù)字n
乘以一個(gè)序列會(huì)生成新的序列,其內(nèi)容為原來(lái)序列被重復(fù)n
次的結(jié)果。例如:
str="C語(yǔ)言中文網(wǎng)"
print(str*3)
輸出結(jié)果為:
'C語(yǔ)言中文網(wǎng)C語(yǔ)言中文網(wǎng)C語(yǔ)言中文網(wǎng)'
檢查元素是否包含在序列中
Python
中,可以使用**in
**關(guān)鍵字檢查某元素是否為序列的成員,其語(yǔ)法格式為:
value in sequence
其中,value
表示要檢查的元素,sequence
表示指定的序列。
例如,檢查字符‘c’是否包含在字符串“c.biancheng.net”
中,可以執(zhí)行如下代碼:
str="c.biancheng.net"
print('c'in str)
運(yùn)行結(jié)果為:
True
和序列相關(guān)的內(nèi)置函數(shù)
Python
提供了幾個(gè)內(nèi)置函數(shù)(表3
所示),可用于實(shí)現(xiàn)與序列相關(guān)的一些常用操作。
函數(shù) | 功能 |
---|---|
len() | 計(jì)算序列的長(zhǎng)度,即返回序列中包含多少個(gè)元素。 |
max() | 找出序列中的最大元素。注意,對(duì)序列使用sum()函數(shù)時(shí),做加和操作的必須都是數(shù)字,不能是字符或字符串,否則該函數(shù)將拋出異常,因?yàn)榻忉屍鳠o(wú)法判定是要做連接操作(+運(yùn)算符可以連接兩個(gè)序列),還是做加和操作。 |
min() | 找出序列中的最小元素。 |
list() | 將序列轉(zhuǎn)換為列表。 |
str() | 將序列轉(zhuǎn)換為字符串。 |
sum() | 計(jì)算元素和。 |
sorted() | 對(duì)元素進(jìn)行排序。 |
reversed() | 反向序列中的元素。 |
enumerate() | 將序列組合為一個(gè)索引序列,多用在for循環(huán)中。 |
這里給大家給幾個(gè)例子:
str="c.biancheng.net"
#找出最大的字符
print(max(str))
#找出最小的字符
print(min(str))
#對(duì)字符串中的元素進(jìn)行排序
print(sorted(str))
輸出結(jié)果為:
t
.
['.', '.', 'a', 'b', 'c', 'c', 'e', 'e', 'g', 'h', 'i', 'n', 'n', 'n', 't']