【序列】分片

来源:互联网 发布:ubuntu桌面菜单不见了 编辑:程序博客网 时间:2024/05/22 02:17

与使用索引访问单个元素类似,分片就是通过冒号(:)分隔两个索引来访问一些元素。(如果学过matlab就很好理解了)


numbers=[1,2,3,4,5,6,7,8,9]#索引从0开始的print(numbers[1:3])#需求:想要输出最后三个数print(numbers[-3:-1])   #[7,8]print(numbers[-3:0])    #[]#[7,8,9] 达到预期效果print(numbers[-3:])print(numbers[:3])print(numbers[:])


注:第一个角标的元素是包含的,而第二个角标是不包含在其中的


步长


numbers = [1,2,3,4,5,6,7,8,9]print(numbers[::2])print(numbers[0:9:-2])print(numbers[9:0:2])print(numbers[9:0:-2])
输出结果:

[1, 3, 5, 7, 9][][][9, 7, 5, 3]


解释第一个print:

[:]表示遍历所有元素;2为步长,表示从起始元素开始每个两个元素取出一个,即1-9中,每隔两个取出一个是1,3,5,7,9

解释最有一个print:

在以负数为步长时,起始索引必须大于终止索引,然后从右往左提取元素,[9:0:-2]表示倒序以步长为2提取元素,注意不包括第二个角标的元素,即不包括0角标的元素1;
注:步长不能为0 步长可以为负数 即从右向左提取元素




0 0