1.理解序列
序列是指连续、有序的,可以用下标进行索引的一类数据容器
列表、元组、字符串,均可以视作序列
从左到右以下标0开始,从右到左以下标-1开始
2.切片
切片指的是,从一个序列中取一个子序列
语法:name[start : end : stride]
表示从name序列中,从start下标开始, 每次跳过(stride-1)个元素,依次取出元素,直到end下标结束
①start可以留空,表示从头开始
②end可以留空,表示到尾结束(不包含end下标这个元素,即左闭右开区间)
③步长可以留空,表示默认为1
④步长stride表示,每次取元素的间隔为(stride-1)
例如:步长1表示,一个个取元素;步长2表示,每次跳过1个元素取;步长n表示,每次跳过n-1个元素取
⑤步长stride为负数时,表示反向取,此时注意起始下标start和结束下标end也要反向标记!
该操作并不影响序列本身,而是返回一个新序列!
3.特殊切片操作
①只写分号(一个或两个效果相同),效果为获取原序列
list = [1,2,3,4,5,6,7]
newlist = list[: :]
print(list)#[1, 2, 3, 4, 5, 6, 7]
print(newlist)#[1, 2, 3, 4, 5, 6, 7]
②只写start或者只写end
list = [1,2,3,4,5,6,7]
newlist1 = list[1:]
newlist2 = list[:5]
print(list) #[1, 2, 3, 4, 5, 6, 7]
print(newlist1) #[2, 3, 4, 5, 6, 7]
print(newlist2) #[1, 2, 3, 4, 5]
③stride填-1,其余不填,效果为逆置序列
list = [1,2,3,4,5,6,7]
newlist = list[: :-1]
print(list) #[1, 2, 3, 4, 5, 6, 7]
print(newlist) #[7, 6, 5, 4, 3, 2, 1]