本节主要介绍[::]的各种用法
今天sololearn和Shubham打了一局输在了这个题上
其实[数字a:数字b:数字c]就是一种比较方便的访问形式
适用于哪些类型呢?
主要适合list (str也是可以的)
三个数字什么意思呢?
其实大部分状态下都是缺省的,例如下面这段代码
c = [1,2,3,4,5,6]
print((c[1:3]))
答案就是输出c的第一个和第二个数字,[2,3]
如果加上第三个数字,就是表示步长的参数。
c = [1,2,3,4,5,6]
print((c[1:6:2]))
就是从c的第一个到第六个,每隔2输出一个,结果就会是
[2, 4, 6]
b = a[i:j:s]这种格式呢,i,j与上面的一样,但s表示步进
当s<0时,i缺省时,默认为-1(就是最后一个). j缺省时,默认为-len(a)-1(就是第一个)
c = [1,2,3,4,5,6]
print((c[:-len©-1:-1]))
答案是[6, 5, 4, 3, 2, 1]
c = [1,2,3,4,5,6]
print((c[:-len©:-1]))
答案是[6, 5, 4, 3, 2]
[::-1]所以就是反向访问
然而直接用-len( c )-1是会报错的,就像访问len( c )+1也会报错一样