python分片操作_【python原理解析】python中分片的实现原理及使用技巧
首先:說(shuō)明什么是序列?
序列中的每一個(gè)元素都會(huì)被分配一個(gè)序號(hào),即元素的位置,也稱為索引;在python中的序列包含:字符串、列表和元組
然后是:什么是分片?
分片就是通過操作索引訪問及獲得序列的一個(gè)或多個(gè)元素,也叫作切片。
如果序列中有N個(gè)元素,索引的范圍,正序是:0到N-1,逆序是:-N到-1
分片的操作一般需要三個(gè)參數(shù),例如獲取a的第一個(gè)元素到第三個(gè)元素,則應(yīng)該為:a[0,3,1]
其中0代表第一個(gè)元素的索引,3代表第三個(gè)元素的索引的后面的值,1代表遞增數(shù),也就是從0開始每一次加1來(lái)獲取下一個(gè)元素,這個(gè)也可以通過for循環(huán)來(lái)實(shí)現(xiàn)
目前看到的對(duì)于分片來(lái)說(shuō),很明顯的一個(gè)例子就是:分片可以實(shí)現(xiàn)逆序,通過下方的代碼:
def f1():
list1 = [1,2,3,4,5]
list2 = list1[4::-1]
print list1
print list2
結(jié)果是:
遞增數(shù)為2的代碼如下:
def f2():
list1 = [1,2,3,4,5,6,7,8]
list2 = list1[2:7:2]
print list1
print list2
結(jié)果是:
按照負(fù)數(shù)索引值獲取內(nèi)容的代碼如下:
def f3():
list1 = [1,2,3,4,5,6,7,8]
list2 = list1[-8:-3:1]
print list1
print list2
結(jié)果是:
在字符串中使用分片的情況如下:
def f4():
str1 = "good idea!"
str2 = str1[1:6:2]
print str1
print str2
結(jié)果是:
以上是關(guān)于get_slice的記錄,下面是set_slice的記錄:
def f5():
list1 = [1,2]
list1[1:4] = [11,3,4]
print "替換部分元素,并增加部分元素后:", list1
list2 = [1,2,3,4,5]
list2[2:4] = []
print "置空某些元素:", list2
list3 = [1,2,3,4]
list3[1:7] = [111]
print "右索引大于總長(zhǎng)度,且右邊的列表比左邊的索引差值小:", list3
list4 = [1,2,3,4]
list4[2:3] = [5,6,7,8,9,10]
print "右邊列表比左邊的索引差值大:",list4
結(jié)果是:
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的python分片操作_【python原理解析】python中分片的实现原理及使用技巧的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++初学者必看
- 下一篇: 一个15岁少年写的汇编代码