线性结构
可迭代for … in
len()可以获取长度
通过下标可以访问
可以切片
学过的线性结构
在内存中是一串连续的内存空间,list,tuple,str,bytes,bytearray
tuple小巧,只读
- str和bytes和bytearray之间做操作
切片
通过索引区间访问线性结构的一段数据
sequence[start:stop]表示返回[start,stop]区间的子序列
支持负索引
start为0,可以省略
stop为末尾,可以省略
超过上界(右边界),就取到末尾;超过下界(左边界),取到开头
start一定要在stop的左边
[:]表示从头至尾,全部元素被取出,等效于copy()方法
切片举例:
'wwww.baidu.com'[4:10]
'.baidu'
'wwww.baidu.com'[4:]
'.baidu.com'
'wwww.baidu.com'[:]
'wwww.baidu.com'
'wwww.baidu.com'[:-1]
'wwww.baidu.co'
'wwww.baidu.com'[4:-4]
'.baidu'
'wwww.baidu.com'[4:50]
'.baidu.com'
b'wwww.baidu.com'[-40:10]
b'wwww.baidu'
bytearray(b'wwww.baidu.com')[-4:10]
bytearray(b'')
tuple('wwww.baidu.com')[-10:10]
('.', 'b', 'a', 'i', 'd', 'u')
list('wwww.baidu.com')[-10:-4]
['.', 'b', 'a', 'i', 'd', 'u']
步长切片:
[start:stop:step]
step为步长,可以正、负整数,默认是1
step要和start:stop同向,否则返回空序列
步长举例:
'wwww.baidu.com'[4:10:2]
'.ad'
list('wwww.baidu.com')[4:10:-2]
[]
tuple('wwww.baidu.com')[-10:-4:2]
('.', 'a', 'd')
b'wwww.baidu.com'[-4:-10:2]
b''
bytearray(b'wwww.baidu.com')[-4:-10:-2]
bytearray(b'.da')
'wwww.baidu.com'[::-1] 从start到stop倒着走
'moc.udiab.wwww'