python中,list用:相关的操作方式

117 阅读1分钟

使用 : 和 :: 相关的运算符对列表进行操作,主要是通过切片(slice)操作来实现的。切片允许你获取列表的一个子集,这个子集可以是连续的也可以是非连续的

  1. list[start:end]:获取从索引 start 到 end-1 的元素,生成一个新的列表。原始列表不会被修改。如果 start 和 end 被省略,默认分别表示列表的开始和结束。
  2. list[start:end:step]:可以添加第三个参数 step,表示步长,默认为 1,可以是正数也可以是负数,但不能为0。如果 step 为正数,则从 start 开始,每隔 step 个元素取一个,直到 end;如果 step 为负数,则从 start 开始,每隔 step 个元素取一个,直到 end,但方向是从右向左。
  3. 如果 start 和 end 都被省略,list[::step] 将获取整个列表,每 step 个取一个。
  4. list[start:]:如果省略 end,则获取从索引 start 到列表末尾的所有元素。
  5. list[:end]:如果省略 start,则获取从列表开头到 end-1 的所有元素。
  6. 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]