日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

【Python之路】特別篇

 highoo 2019-03-20

切片操作符是序列名后跟一個(gè)方括號(hào),方括號(hào)中有一對(duì)可選的數(shù)字,并用冒號(hào)分割。

注意: 數(shù)是可選的,而冒號(hào)是必須的。

1
consequence[start:end:step]

切片操作符中的第一個(gè)數(shù)(冒號(hào)之前)表示切片開(kāi)始的位置,第二個(gè)數(shù)(冒號(hào)之后)表示切片到哪里結(jié)束,第三個(gè)數(shù)(冒號(hào)之后)表示切片間隔數(shù)。

 

如果不指定第一個(gè)數(shù),Python就從序列首開(kāi)始。如果沒(méi)有指定第二個(gè)數(shù),則Python會(huì)停止在序列尾。

? (序列首與序列尾 依據(jù)step方向決定 !)

 

注意: 返回的序列從開(kāi)始位置開(kāi)始 ,剛好在結(jié)束位置之前結(jié)束。

即開(kāi)始位置是包含在序列切片中的,而結(jié)束位置被排斥在切片外。( 前閉后開(kāi) !)

 

  • step為正,則從左到右切片,如果start > end 則為空
  • step為負(fù),則從右到左切片,如果start < end 則為空

  • startend 填空,前者表示最開(kāi)始,后者表示最后一個(gè),

  • 同時(shí)為空的時(shí)候,表示取所有。至于方向,取決于step

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
>>> a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> a[:]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> a[::2]
[1, 3, 5, 7, 9]
>>> a[1:6:2]
[2, 4, 6]
>>> a[8:3:-1
[9, 8, 7, 6, 5]    # 右-》左切片,step 為1,a[8]=9, a[7]=8, ... a[4]=5, 8-3=5個(gè)
>>> a[10:0:-2]
[10, 8, 6, 4, 2]   # 右-》左切片, 切片的時(shí)候,不存在 index 越界情況
>>> a[0:10:-2]     # start < end , step 為負(fù), 方向?yàn)橛?》左,第一個(gè)是 a[0], a[0]的左邊就再也沒(méi)有值了。為空
[]
>>> a[::-2]        # a[:]表示取所有,step 為負(fù)就反方向
[10, 8, 6, 4, 2]
>>> a[5::-2]       # 右-》左,結(jié)果等價(jià) a[5:0:-2] a[5]=6, a[3]=4, a[1]=2
[6, 4, 2]
>>> a[:5:-2]       # 右-》左, 等價(jià)于 a[9:5:-2] a[9]=10, a[7]=8
[10, 8]

 

總結(jié):

1. start 和 end 不填,或者其中一個(gè)不填,都是指代獲取所有,然后根據(jù) step 確定方向。

 

2. step:表示取值的步長(zhǎng),默認(rèn)為1,步長(zhǎng)值不能為0。

 

3. 因此任意一個(gè)序列結(jié)構(gòu)數(shù)據(jù)的索引范圍為 -len(consequence) 到 len(consequence)-1 范圍內(nèi)的連續(xù)整數(shù)。

 

4. 當(dāng)使用冒號(hào)(:)對(duì)序列進(jìn)行切片取值時(shí),你所輸入的無(wú)論是start_index或者end_index,都不必局限于 -len(consequence) 到 len(consequence)-1 之間因?yàn)橹挥挟?dāng)你輸入的索引號(hào)處于這個(gè)區(qū)間時(shí)才真正有效,而當(dāng)你輸入的索引號(hào)超出這個(gè)范圍時(shí),python會(huì)自動(dòng)將start_index或end_index設(shè)定為缺省值(即第一個(gè)對(duì)象和最后一個(gè)對(duì)象)。

 

額外:
1
2
3
4
5
>>> a=[1,2,3,4,5,6,7]  
>>> a[len(a)-1]  
7  
>>> a[-len(a)]  
1

其中a[len(a)-1]等同于a[-1],a[-len(a)]等同于a[0],分別表示序列的最后一個(gè)和第一個(gè)對(duì)象。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多