使用 : 和 :: 相关的运算符对列表进行操作,主要是通过切片(slice)操作来实现的。切片允许你获取列表的一个子集,这个子集可以是连续的也可以是非连续的
list[start:end]:获取从索引start到end-1的元素,生成一个新的列表。原始列表不会被修改。如果start和end被省略,默认分别表示列表的开始和结束。list[start:end:step]:可以添加第三个参数step,表示步长,默认为 1,可以是正数也可以是负数,但不能为0。如果step为正数,则从start开始,每隔step个元素取一个,直到end;如果step为负数,则从start开始,每隔step个元素取一个,直到end,但方向是从右向左。- 如果
start和end都被省略,list[::step]将获取整个列表,每step个取一个。 list[start:]:如果省略end,则获取从索引start到列表末尾的所有元素。list[:end]:如果省略start,则获取从列表开头到end-1的所有元素。list[:]:如果同时省略start和end,则获取整个列表的副本。
my_list = [1, 2, 3, 4, 5]
print(my_list[-1]) # 5
print(my_list[:]) # [1, 2, 3, 4, 5]
print(my_list[1:3]) # [2, 3]
print(my_list[::2]) # [1, 3, 5]
print(my_list[::-1]) # [5, 4, 3, 2, 1]
print(my_list[1:4:2]) # [2, 4]
print(my_list[::-2]) # [5, 3, 1]
print(my_list[4:1:-1]) # [5, 4, 3]