最近在列表的分片過程中遇到了一些問題
在網(wǎng)上搜索了一些大神總結(jié)了比較難的一點(diǎn)也是面試過程容易出的部分
基礎(chǔ)的分片咱不說狠鸳,說點(diǎn)不容易理解的
a=list(i for i in range(1,11))
print(a)#[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a1 = a[8:3:-1]
print(a1)# [9, 8, 7, 6, 5] # 右-》左切片惰说,step 為1向胡,a[8]=9, a[7]=8, ... a[4]=5, 8-3=5個(gè)
a2 = a[10:0:-2]
print(a2)# [10, 8, 6, 4, 2] # 右-》左切片稠茂, 切片的時(shí)候钳恕,不存在 index 越界情況炼彪,a[10]不存在哄辣,a[9]=10, a[7]=8, a[5]=6...
#上面的10可以超出索引范圍使用请梢,下面的使用10為什么引用是分片引用是空?力穗?毅弧?
a3 = a[0:10:-2] # start < end step 為負(fù), 方向?yàn)橛?》左,第一個(gè)是 a[0], a[0]的左邊就再也沒有值了当窗。為空
print(a3)# []
a4 = a[::-2] # a[:]表示去所有够坐,step 為負(fù)就放方向啦
print(a4)# [10, 8, 6, 4, 2]
a5 = a[5::-2] # 右-》左,等價(jià) a[5:0:-2] a[5]=6, a[3]=4, a[1]=2
print(a5)# [6, 4, 2]
a6 = a[:5:-2] # 右-》左, 等價(jià)與 a[9:5:-2] a[9]=10, a[7]=8
print(a6)# [10, 8]
圖片.png