Python切片索引用法示例
本文實(shí)例講述了Python切片索引用法。分享給大家供大家參考,具體如下:
在Python中,可以用用簡(jiǎn)單的方括號(hào)加一個(gè)下標(biāo)的方式訪問(wèn)序列的每一個(gè)元素,這種方式稱(chēng)之為切片操作符,切片操作符有三種形式:
[],[:],[::]
訪問(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
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門(mén)與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
anaconda3:conda not found報(bào)錯(cuò)問(wèn)題解決
這篇文章主要給大家介紹了關(guān)于anaconda3:conda not found報(bào)錯(cuò)問(wèn)題解決的相關(guān)資料,Anaconda指的是一個(gè)開(kāi)源的Python發(fā)行版本,其包含了conda、Python等180多個(gè)科學(xué)包及其依賴(lài)項(xiàng),需要的朋友可以參考下2023-10-10
python實(shí)現(xiàn)在sqlite動(dòng)態(tài)創(chuàng)建表的方法
這篇文章主要介紹了python實(shí)現(xiàn)在sqlite動(dòng)態(tài)創(chuàng)建表的方法,涉及Python操作SQLite數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)表的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-05-05
Python itertools.product方法代碼實(shí)例
這篇文章主要介紹了Python itertools.product方法代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
python人工智能tensorflow函數(shù)tf.get_collection使用方法
這篇文章主要為大家介紹了python人工智能tensorflow函數(shù)tf.get_collection使用方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
JupyterLab遠(yuǎn)程密碼訪問(wèn)實(shí)現(xiàn)
本文主要介紹了JupyterLab遠(yuǎn)程密碼訪問(wèn)實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
python回調(diào)函數(shù)用法實(shí)例分析
這篇文章主要介紹了python回調(diào)函數(shù)用法,較為詳細(xì)的分析了常用的調(diào)用方式,并實(shí)例介紹了Python回調(diào)函數(shù)的使用技巧,需要的朋友可以參考下2015-05-05
python實(shí)現(xiàn)unicode轉(zhuǎn)中文及轉(zhuǎn)換默認(rèn)編碼的方法
這篇文章主要介紹了python實(shí)現(xiàn)unicode轉(zhuǎn)中文及轉(zhuǎn)換默認(rèn)編碼的方法,結(jié)合實(shí)例形式分析了Python針對(duì)Unicode編碼操作的相關(guān)技巧及編碼轉(zhuǎn)換中的常見(jiàn)問(wèn)題解決方法,需要的朋友可以參考下2017-04-04

