Python中符合序列的有序序列都支持切片(slice),如:列表,字符,元祖
創(chuàng)新互聯(lián)公司專注于左貢企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計,商城網(wǎng)站制作。左貢網(wǎng)站建設(shè)公司,為左貢等地區(qū)提供建站服務(wù)。全流程按需設(shè)計,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
Python中切片的格式:[start : end : step]
Start:起始索引,從0開始,-1表示結(jié)束;End:結(jié)束索引;Step:步長
end-start=正數(shù)時,從左向右取值,=負數(shù)時反向取值
注意:切片結(jié)果不包含結(jié)束索引,即不包含最后一位,-1代表最后一個位置索引
了解更多python知識,0基礎(chǔ)新手python在線學(xué)習(xí)就上智圭谷-書聲瑯瑯教育旗下高端IT教育品牌,專注python語言領(lǐng)域
基本上,我們知道Python序列對象是索引號中可以引用的元素。 索引號的正數(shù)從0到左向右,或負數(shù)從-1到右到左。
Python允許對具有序列結(jié)構(gòu)的數(shù)據(jù)使用切片操作。 請注意,在序列對象的索引位置返回元素,而切片操作返回與切片對象類型相同的對象的副本。
今天主要和大家一起討論Python字符串的切片操作。
一、字符串的切片字符串' xxx '和Unicode字符串u'xxx '也可以視為一種列表,每個元素都是一個字符。 因此,字符串也可以在片上操作,但操作結(jié)果仍然是字符串。 許多編程語言為字符串提供了許多不同的剪切函數(shù),但實際上是將字符串切片。 Python對字符串沒有剪切函數(shù),只需切片即可,非常簡單。
切片操作(slice )可以從字符串中獲取子字符串(字符串的一部分)。 使用方括號、開始偏移start、結(jié)束偏移end和可選的步驟對定義拼貼
切片是python極其有用且強大的功能。它使我們能夠使用簡單明了的語法來操作序列,包括字符串、列表、元組。切片簡單來說就是從序列中切取咱們需要的值,并生成一個新的序列,理論上來說,只要表達式正確,我們可以通過切片切取序列中的任意值。
如果沒有缺省的話,表達式應(yīng)該包含三個參數(shù)以及兩個冒號,三個參數(shù)的意義分別如下:
1、start_index:切片的起始位置( 包括該位置 ),0表示從第一個開始,1表示從第二個開始,以此類推。-1表示從倒數(shù)第一個開始,-2表示從倒數(shù)第二個開始,以此類推。 缺省時取0或-1(即step為正數(shù)取0,負數(shù)取-1)
2、end_index:切片的結(jié)束位置( ?。?!且不包括該位置 ),0表示第一個為終點,1表示第二個為終點,以此類推。-1表示倒數(shù)第一個為終點,-2表示倒數(shù)第二個為終點,以此類推。 缺省時默認為序列長度(step為正數(shù)取正,step負數(shù)取負)
3、step,表示步長??扇≌摂?shù),正數(shù)表示從左往右,負數(shù)表示從右往左。 缺省時取1
組合使用
只有一個冒號時默認step為1。當(dāng)start_index的位置在end_index的左邊時,表示從左往右取值;當(dāng)start_index的位置在end_index的右邊時,表示從右往左取值
特殊情況
連續(xù)切片操作
按照順序進行切片即可
其他序列的切片
python常用切片操作
start:表示切片的開始索引位置(包括該位置),此參數(shù)也可以不指定,會默認為 0,也就是從序列的開頭進行切片;
end:表示切片的結(jié)束索引位置(不包括該位置),如果不指定,則默認為序列的長度;
step:表示在切片過程中,隔幾個存儲位置(包含當(dāng)前位置)取一次元素,也就是說,如果 step 的值大于1則在進行切片去序列元素時,會“跳躍式”的取元素。如果省略設(shè)置 step 的值,則最后一個冒號就可以省略。
"""
其中,第一個數(shù)字start表示切片開始位置,默認為0;
第二個數(shù)字end表示切片截止(但不包含)位置(默認為列表長度);
第三個數(shù)字step表示切片的步長(默認為1)。
當(dāng)start為0時可以省略,當(dāng)end為列表長度時可以省略,
當(dāng)step為1時可以省略,并且省略步長時可以同時省略最后一個冒號。
另外,當(dāng)step為負整數(shù)時,表示反向切片,這時start應(yīng)該比end的值要大才行。
"""
aList = [3, 4, 5, 6, 7, 9, 11, 13, 15, 17]
print (aList[::]) # 返回包含原列表中所有元素的新列表
print (aList[::-1]) # 返回包含原列表中所有元素的逆序列表
print (aList[::2]) # 隔一個取一個,獲取偶數(shù)位置的元素
print (aList[1::2]) # 隔一個取一個,獲取奇數(shù)位置的元素
print (aList[3:6]) # 指定切片的開始和結(jié)束位置
aList[0:100] # 切片結(jié)束位置大于列表長度時,從列表尾部截斷
aList[100:] # 切片開始位置大于列表長度時,返回空列表
aList[len(aList):] = [9] # 在列表尾部增加元素
aList[:0] = [1, 2] # 在列表頭部插入元素
aList[3:3] = [4] # 在列表中間位置插入元素
aList[:3] = [1, 2] # 替換列表元素,等號兩邊的列表長度相等
aList[3:] = [4, 5, 6] # 等號兩邊的列表長度也可以不相等
aList[::2] = [0] * 3 # 隔一個修改一個
print (aList)
aList[::2] = ['a', 'b', 'c'] # 隔一個修改一個
aList[::2] = [1,2] # 左側(cè)切片不連續(xù),等號兩邊列表長度必須相等
aList[:3] = [] # 刪除列表中前3個元素
del aList[:3] # 切片元素連續(xù)
del aList[::2] # 切片元素不連續(xù),隔一個刪一個
關(guān)于數(shù)組切片的解析:
① [i]、[-1];
② [:-1]、[:n]、[n:]、[n:m]、[:];
③ [n: m: x]、[: : x]、[: : ]、[-1: : ]、[: -1:]、[: :-1]
④ [a,b]、[a1:a2, b1:b2]
(-1在此相當(dāng)于len(A)-1,即從首項至下標為 (len(A)-1)-1 的元素)
(-1在此相當(dāng)于len(A)-1,即從下標為 len(A)-1 的元素至最后一項元素,實際上就是最后一項元素)
n和m都缺省時,范圍為整個數(shù)組,元素的選擇取決于步長
x為-1時,取步長為1的倒序
a表示取第一維的下標為a的元素,b表示取第二維的下標為b的元素
a1:a2表示取第一維的下標為a1至a2-1的數(shù)組切片;
b1:b2表示取第二維的下標為b1至b2-1的數(shù)組切片。
當(dāng)A[a1:a2, b1:b2]中有數(shù)值缺省時,規(guī)則同一維數(shù)組。
此外,更高維數(shù)組的切片以此類推。
本文題目:Python函數(shù)切片,python的切片操作
當(dāng)前路徑:http://aaarwkj.com/article44/hchphe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標簽優(yōu)化、搜索引擎優(yōu)化、Google、云服務(wù)器、網(wǎng)站收錄、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)