本篇文章給大家分享的是有關(guān)如何在Python中使用切片索引,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
在Python中,可以用用簡(jiǎn)單的方括號(hào)加一個(gè)下標(biāo)的方式訪問(wèn)序列的每一個(gè)元素,這種方式稱之為切片操作符,切片操作符有三種形式:
[],[:],[::]
訪問(wèn)某一數(shù)據(jù)元素的語(yǔ)法如下:
sequence[index]
sequence是序列的名字,index是訪問(wèn)元素的對(duì)應(yīng)的偏移量,為正數(shù),0<=index<=len(sequence)-1;使用負(fù)索引的時(shí)候,其范圍為-len(sequence) <=index <= -1
由于Python是面向?qū)ο蟮?,所以也可以通過(guò)在序列后直接加上一個(gè)索引進(jìn)行訪問(wèn),如下所以
print ('a','b','c','d')[2]
對(duì)于訪問(wèn)多個(gè)元素的情形
sequence[starting_index:ending_index]
下面就訪問(wèn)的幾種方式進(jìn)行舉例說(shuō)明:
sequence="abcdefgh" print len(sequence) #顯示序列長(zhǎng)度 print sequence #打印完整序列 print sequence[:] print sequence[2:3] #切片顯示,不指定步長(zhǎng)默認(rèn)為1,指定了步長(zhǎng)(這里是setp為2)按照步長(zhǎng)進(jìn)行顯示 print sequence[1:6:2] print sequence[3] #元素訪問(wèn) print sequence[0:3] #從首元素開(kāi)始訪問(wèn),訪問(wèn)區(qū)間為[0,3),左開(kāi)you print sequence[:3] print sequence[2:8] #從第二個(gè)元素一直訪問(wèn)到最后一個(gè)元素 print sequence[2:] print sequence[::-1] #從最后一個(gè)元素開(kāi)始訪問(wèn),逆序訪問(wèn),可以視為“翻轉(zhuǎn)”操作 print max(sequence) print min(sequence) print sequence.index('c')
這里要注意的是重復(fù)操作符 *
sequence * copies_int
當(dāng)需要一個(gè)序列的多個(gè)拷貝時(shí),重復(fù)操作符就可以發(fā)揮作用了,copies_int 必須為整形
print sequence*3 #使用重復(fù)操作符
連接操作符 +
sequence1 + sequence2
允許使用 + 將兩個(gè)相同類(lèi)型的序列進(jìn)行連接
print sequence + sequence
但注意看起來(lái)很方便,但是這種操作不是最快或者最有效地,對(duì)字符串來(lái)說(shuō),這個(gè)操作不如把所有子字符串放到一個(gè)列表中或者可迭代對(duì)象中,然后使用join()
方法來(lái)把所有的內(nèi)容連接在一起節(jié)約內(nèi)存;而對(duì)于列表而言,推薦是喲個(gè)列表類(lèi)型的extend()
方法來(lái)把兩個(gè)或者多個(gè)列表對(duì)象合并
str.join(sequence) #方法用于將序列中的元素以指定的字符連接生成一個(gè)新的字符串
str = "-"; seq = ("a", "b", "c"); # 字符串序列 print str.join( seq );
輸出為:
a-b-c
list.extend(seq) #函數(shù)用于在列表末尾一次性追加另一個(gè)序列中的多個(gè)值(用新列表擴(kuò)展原來(lái)的列表)
aList = [123, 'xyz', 'zara', 'abc', 123]; bList = [2009, 'manni']; aList.extend(bList) print "Extended List : ", aList ;
輸出為:
Extended List : [123, 'xyz', 'zara', 'abc', 123, 2009, 'manni']
切片索引的語(yǔ)法要比簡(jiǎn)單的單一元素索引方法靈活很多,開(kāi)始和結(jié)束索引值可以超過(guò)字符串的長(zhǎng)度。即起始索引值可以小于0,而結(jié)束索引值可以大于序列的長(zhǎng)度,如:
print ('Faye','Leanna','Daylen')[-100:100]
輸出為:
('Faye', 'Leanna', 'Daylen')
如果有一個(gè)字符串,想通過(guò)循環(huán)按照這樣的方式進(jìn)行顯示:每次都把位于最后的那一個(gè)字符砍掉,如何實(shí)現(xiàn)呢?
sequence = 'abcdef' i = -1 for i in range(-1,-len(sequence),-1): print sequence[:i]
輸出為:
abcde
abcd
abc
ab
a
發(fā)現(xiàn)沒(méi)有顯示第一個(gè),即是沒(méi)有顯示完整的字符串,除開(kāi)另外單獨(dú)定義一個(gè)sequence[:0]
,這里使用None作為索引值
sequence = 'abcdef' for i in [None] + range(-1,-len(sequence),-1): print sequence[:i]
輸出為:
abcdef
abcde
abcd
abc
ab
a
以上就是如何在Python中使用切片索引,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)站欄目:如何在Python中使用切片索引-創(chuàng)新互聯(lián)
文章來(lái)源:http://www.rwnh.cn/article36/csscsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、虛擬主機(jī)、網(wǎng)站導(dǎo)航、品牌網(wǎng)站設(shè)計(jì)、定制開(kāi)發(fā)、App開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容