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.在同一切片操作中,不要同時使用start
、end
和stride
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 ...