国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

2015/8/30Python基礎(chǔ)(4):序列操作符

2019-11-14 17:02:16
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

序列是指成員有序排列,可以通過(guò)下標(biāo)偏移量訪問(wèn)的類型。Python序列包括:字符串、列表和元組。
序列的每個(gè)元素可以指定一個(gè)偏移量得到,多個(gè)元素是通過(guò)切片操作得到的。下標(biāo)偏移量從0開(kāi)始計(jì)數(shù)到總數(shù)-1結(jié)束。

序列類型操作符
這些操作符是對(duì)所有序列類型都適用的。

序列操作符 作用
seq[ind] 獲得下標(biāo)為ind的元素
seq[ind1:ind2] 獲得下標(biāo)從ind1到ind2的元素集合
seq * exPR 序列重復(fù)expr次
seq1 + seq2 連接序列seq1和seq2
obj in seq 判斷obj元素是否在seq中
obj not in seq 判斷obj元素是否不再seq中

 

seq[ind]有下面這段代碼

>>> lst = [1,2,3,4,5,6]>>> exp = "abcdef">>> tub = ("apple","orange","banana","watermelon")>>> print lst[2] #打印列表中下標(biāo)為2的元素3>>> print exp[0] #三種序列的使用方式一致a>>> print tub[3]watermelon>>> print lst[-1]#負(fù)索引,以結(jié)束為起點(diǎn)6>>> print lst[6]#索引不能超出序列長(zhǎng)度Traceback (most recent call last):File "<pyshell#7>", line 1, in <module>print lst[6]#索引不能超出序列長(zhǎng)度IndexError: list index out of range>>> print [1,2,3,4,5,6][0] #可以不將序列賦值直接使用1>>> print 'abcde'[0] #可以不將序列賦值直接使用a

上面涵蓋了seq[ind]的幾種使用方案。正索引的偏移數(shù)是 0 到(總元素?cái)?shù)量-1),從首元素開(kāi)始索引;負(fù)索引的偏移數(shù)是 -1 到 負(fù)的總元素?cái)?shù)量,從尾元素開(kāi)始索引。

但是這種索引方式只能索引一個(gè)元素,多個(gè)元素索引使用

sequence[start_index:end_index(:step)]

 

有如下代碼

>>> lst = [1, 2, 3, 4, 5, 6]>>> print lst[:] #省略兩個(gè)坐標(biāo)則從開(kāi)始到結(jié)束[1, 2, 3, 4, 5, 6]>>> print lst[3:] #省略結(jié)束坐標(biāo)[4, 5, 6]>>> print lst[:5] #省略開(kāi)始坐標(biāo)[1, 2, 3, 4, 5]>>> print lst[::2] #步長(zhǎng)為2,隔一個(gè)取一個(gè)[1, 3, 5]>>> print lst[::-1] #反向序列[6, 5, 4, 3, 2, 1]>>> print lst[1:5:2] #從坐標(biāo)1到坐標(biāo)5之間,隔一個(gè)取一個(gè)[2, 4]>>> print lst[-5:-3][2, 3]>>> print lst[-1:100][6]>>> print lst[-6:-4] #負(fù)索引,并不負(fù)輸出[1, 2]>>> print lst[-3:5] #正負(fù)索引同時(shí)存在時(shí),坐標(biāo)只代表位置,截取位置間的元素[4, 5]>>> print lst[:100] #索引可以超出序列長(zhǎng)度[1, 2, 3, 4, 5, 6]>>> print lst[-5:100] #索引可以超出序列長(zhǎng)度[2, 3, 4, 5, 6]
關(guān)于切片運(yùn)算,還有一個(gè)值得說(shuō)的事,如果使用負(fù)索引:
>>> lst = [1,2,3,4,5,6,7]>>> print lst[:-2][1, 2, 3, 4, 5]>>> print lst[:-1][1, 2, 3, 4, 5, 6]>>> print lst[:0][]

 當(dāng)負(fù)索引是尾坐標(biāo)時(shí),我們永遠(yuǎn)無(wú)法截到最后一個(gè)元素,因?yàn)?1是負(fù)索引最大的值,如果使用0則會(huì)認(rèn)為是正索引。

這種情況下,我們可以使用None來(lái)代替0的位置

>>> print lst[:None][1, 2, 3, 4, 5, 6, 7]

 

連接操作符 +

連接操作符允許把多個(gè)序列連在一起,但只能連接同樣的對(duì)象。都是列表,都是字符串或都是元組

>>> num_lst = [1,2,3,4]>>> mixup_lst = [567,'abc',[123,'aaa']]>>> num_lst + mixup_lst[1, 2, 3, 4, 567, 'abc', [123, 'aaa']]>>> string = 'abcdef'>>> num_lst + stringTraceback (most recent call last):File "<pyshell#4>", line 1, in <module>num_lst + stringTypeError: can only concatenate list (not "str") to list

 

重復(fù)操作符(*)

>>> mixup_lst = [567,'abc',[123,'aaa']]>>> string = 'abcdef'>>> mixup_lst * 2[567, 'abc', [123, 'aaa'], 567, 'abc', [123, 'aaa']]>>> string * 3'abcdefabcdefabcdef'>>> mixup_lst * mixup_lstTraceback (most recent call last):File "<pyshell#9>", line 1, in <module>mixup_lst * mixup_lstTypeError: can't multiply sequence by non-int of type 'list'

* 后只能接數(shù)字,代表重復(fù)次數(shù),否則都會(huì)錯(cuò)誤

成員關(guān)系操作 in , not in

>>> mixup_list = ['a',123,['x',1.4,35]]>>> 'a' in mixup_listTrue>>> 'x' in mixup_listFalse>>> 'x' in mixup_list[2]True>>> string = 'abcdef'>>> 'a' in stringTrue>>> 'bcd' in stringTrue>>> 'abd' in stringFalse

以上是in的幾種操作,用于判別元素是否屬于這個(gè)序列。如果使用not in 則結(jié)果相反。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 云阳县| 阿荣旗| 渭源县| 吴川市| 湟中县| 乐东| 奉贤区| 延边| 微山县| 南投县| 清涧县| 镇赉县| 陈巴尔虎旗| 凤城市| 偃师市| 自贡市| 沙雅县| 高碑店市| 贵德县| 武鸣县| 株洲县| 天镇县| 会同县| 广东省| 宝山区| 三亚市| 鄯善县| 博乐市| 偃师市| 七台河市| 延川县| 芦山县| 凤山市| 芦山县| 驻马店市| 晋城| 民乐县| 进贤县| 静宁县| 根河市| 浮梁县|