第5條了解切割序列的方法

2021-10-03 03:01:40 字數 1252 閱讀 5002

python提供切片操作(slice),可以輕鬆的訪問序列中的某段子集元素。python常見的資料元素list,str,和bytes均提供slice操作。同時切割操作可以通過__getitem____setitem__特殊方法實現。

切割的基本操作為:somlist[start:end],表示的區間為左閉右開區間,即[start,end)

注意:很多語言的區間都是左閉右開

1. 當start==0或者end==序列長度時,可以省略
a =

['a'

,'b'

,'c'

,'d'

,'e'

,'f'

]print

(a[0:2

])print

(a[:2]

)print

(a[2

:len

(a)]

print

(a[2:]

)

2.在賦值時,對左側列表使用切割操作,會將該列表中處在指定範圍內的物件替換為新值;如果左側切片沒有指定索引,那麼則會被右側列表替換掉(即使長度不同)
print

('before:'

,a)a[2:

5]=[

2,3,

4]#指定位置被修改

print

('after:'

,a)#################

b = aa[:

]=[2

,3,4

]# 被替換

assert a is b

print

('after:'

,a)

3.如果在切割時,右側列表的起止索引未指定,那麼會產生乙個原列表的拷貝
copy_list = a[:]

print

(copy_list)

4.在同一切片操作中,不要同時使用startendstride

python提供somelist[start:end:stride]形式,實現步進切割,也就是說每隔stride步長取乙個元素

第5條 了解切割序列的辦法

核心知識點 1.不要寫多餘的 切片的起止索引為0時,有時候使用負值更方便,應該省略 2.切片不會計較起止索引是否越界 3.使用切片對列表負值,系統不會考慮範圍的長度 4.更改淺拷貝生產的列表,不會對原列表產生影響,反之,則不同。python提供了一種把序列切成小塊的寫法。這種切片 slice 操作,...

SQL取出第 m 條到第 n 條記錄的方法

從table 表中取出第 m 條到第 n 條的記錄 not in 版本 select top n m 1 from table where id not in select top m 1 id from table 從table表中取出第m到n條記錄 exists版本 select top n m...

SQL取出第 m 條到第 n 條記錄的方法

分頁或者分段呼叫資料的時候很有用的啊 從table 表中取出第 m 條到第 n 條的記錄 color red not in 版本 color select top n m 1 from table where id not in select top m 1 id from table color ...