本篇文章給大家分享的是有關(guān)如何在Python中使用切片索引,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
目前創(chuàng)新互聯(lián)已為上1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、麗江網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。在Python中,可以用用簡單的方括號加一個下標(biāo)的方式訪問序列的每一個元素,這種方式稱之為切片操作符,切片操作符有三種形式:
[],[:],[::]
訪問某一數(shù)據(jù)元素的語法如下:
sequence[index]
sequence是序列的名字,index是訪問元素的對應(yīng)的偏移量,為正數(shù),0<=index<=len(sequence)-1;使用負索引的時候,其范圍為-len(sequence) <=index <= -1
由于Python是面向?qū)ο蟮模砸部梢酝ㄟ^在序列后直接加上一個索引進行訪問,如下所以
print ('a','b','c','d')[2]
對于訪問多個元素的情形
sequence[starting_index:ending_index]
下面就訪問的幾種方式進行舉例說明:
sequence="abcdefgh" print len(sequence) #顯示序列長度 print sequence #打印完整序列 print sequence[:] print sequence[2:3] #切片顯示,不指定步長默認為1,指定了步長(這里是setp為2)按照步長進行顯示 print sequence[1:6:2] print sequence[3] #元素訪問 print sequence[0:3] #從首元素開始訪問,訪問區(qū)間為[0,3),左開you print sequence[:3] print sequence[2:8] #從第二個元素一直訪問到最后一個元素 print sequence[2:] print sequence[::-1] #從最后一個元素開始訪問,逆序訪問,可以視為“翻轉(zhuǎn)”操作 print max(sequence) print min(sequence) print sequence.index('c')
這里要注意的是重復(fù)操作符 *
sequence * copies_int
當(dāng)需要一個序列的多個拷貝時,重復(fù)操作符就可以發(fā)揮作用了,copies_int 必須為整形
print sequence*3 #使用重復(fù)操作符
連接操作符 +
sequence1 + sequence2
允許使用 + 將兩個相同類型的序列進行連接
print sequence + sequence
但注意看起來很方便,但是這種操作不是最快或者最有效地,對字符串來說,這個操作不如把所有子字符串放到一個列表中或者可迭代對象中,然后使用join()
方法來把所有的內(nèi)容連接在一起節(jié)約內(nèi)存;而對于列表而言,推薦是喲個列表類型的extend()
方法來把兩個或者多個列表對象合并
str.join(sequence) #方法用于將序列中的元素以指定的字符連接生成一個新的字符串
str = "-"; seq = ("a", "b", "c"); # 字符串序列 print str.join( seq );
輸出為:
a-b-c
list.extend(seq) #函數(shù)用于在列表末尾一次性追加另一個序列中的多個值(用新列表擴展原來的列表)
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']
切片索引的語法要比簡單的單一元素索引方法靈活很多,開始和結(jié)束索引值可以超過字符串的長度。即起始索引值可以小于0,而結(jié)束索引值可以大于序列的長度,如:
print ('Faye','Leanna','Daylen')[-100:100]
輸出為:
('Faye', 'Leanna', 'Daylen')
如果有一個字符串,想通過循環(huán)按照這樣的方式進行顯示:每次都把位于最后的那一個字符砍掉,如何實現(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)沒有顯示第一個,即是沒有顯示完整的字符串,除開另外單獨定義一個sequence[:0]
,這里使用None作為索引值
sequence = 'abcdef' for i in [None] + range(-1,-len(sequence),-1): print sequence[:i]
輸出為:
abcdef
abcde
abcd
abc
ab
a
以上就是如何在Python中使用切片索引,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。