一、切片的定義
- 通過索引區間訪問線性結構的一段數據
- sequence[start:stop] 表示返回[start,stop]區間的子序列,支持負索引
- start為0,可以省略,stop為末尾,也可以省略
- 超過上屆(右邊界), 就取到末尾;超過下屆(左邊界),取到開頭
- [:]表示從頭至尾,全部元素被取出,等效於copy()方法
二、切片代碼舉例
舉例:
- >>> s = 'www.magedu.com'
- >>> s
- 'www.magedu.com'
- >>> s[4:10]
- 'magedu'
- >>> s[:10]
- 'www.magedu'
- >>> s[4:]
- 'magedu.com'
- >>> s[:]
- 'www.magedu.com'
- >>> s[:-1]
- 'www.magedu.co'
- >>> tuple(s)[-10:10]
- ('m', 'a', 'g', 'e', 'd', 'u')
- >>> list(s)[-10:4]
- []
- >>> tuple(s)
- ('w', 'w', 'w', '.', 'm', 'a', 'g', 'e', 'd', 'u', '.', 'c', 'o', 'm')
- >>> list(s)
- ['w', 'w', 'w', '.', 'm', 'a', 'g', 'e', 'd', 'u', '.', 'c', 'o', 'm']
三、長步切片
- [start:stop:step],step為步長,可以正、負整數,默認是1
- step要和start:stop同向,否則返回空序列
舉例:
>>> s = 'www.magedu.com'
>>> s[4:10:2]
'mgd'
>>> list(s)[4:10:-2]
[]
>>> tuple(s)[-10:-4:2]
('m', 'g', 'd')
>>> tuple(s)[-10:-4:-2]
()
>>> tuple(s)[4:10:2]
('m', 'g', 'd')
>>> list('1234')
['1', '2', '3', '4']