nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
首先 nums[-1] 代表列表的最后一个元素
nums[-1]
结果:
10
接着进行 nums[:-1]
nums[:-1] #除了最后一个取全部,最后一个元素取不到
结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
首先 nums[0] 代表列表的第0个元素,也就是最左边的元素
nums[0]
结果:
0
nums[0:]
结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
通过这两个案例,我们可以看到,在取元素的时候是区间左闭右开的 [ )
验证一下
nums[0: 5]
结果:
[0, 1, 2, 3, 4]
nums[5:0:-1]
结果:
[5, 4, 3, 2, 1]
同样是左闭右开,和大小无关,右边的0没有取到
参数解析:
5代表起始位置,可以取到;
0代表终止位置,取不到;
-1代表步长是-1,
nums[5:0:-2]
结果:
[5, 3, 1]
同样是左闭右开,和大小无关,右边的0没有取到
参数解析:
5代表起始位置,可以取到;
0代表终止位置,取不到;
-2代表步长是-2,
nums[::-1]
结果:
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
nums[::] #双冒号取全部元素
结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
nums[:] #单引号取全部元素
结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
nums[5:9:2]
结果:
[5, 7]
nums[9:5:-2]
结果:
[9, 7]
nums[::2]
结果:
[0, 2, 4, 6, 8, 10]
nums[2::2]
结果:
[2, 4, 6, 8, 10]
nums[::-2]
结果:
[10, 8, 6, 4, 2, 0]
nums[:8:2]
结果:
[0, 2, 4, 6]